Hardware
First of all, choose the right hardware: https://h-mdm.com/hardware-requirements/
For 20K devices, we recommend you to set up one or two powerful virtual machines or dedicated servers (32Gb RAM, 6xCPU, 200Gb SSD storage). If you set two servers, one will be for the database and another for the web application server (Tomcat).
Logs and locations
To avoid flooding the database with logs and device locations, adjust the following settings in the Headwind MDM web panel:
Settings - Logs: Set the logs storage time to a minimal acceptable value (3 days will cover weekends and holidays). Remove the Verbose logging for all devices. We recommend to use Warning level by default, and add Verbose only for devices experiencing issues.
Settings - Devices on the map: Set the location storage time to a minimal acceptable value. Set the "Extra location updates" to "No extra updates", this will save the space and increase benchmark.
Settings - Detailed Information: You may decide to increase the detailed information collection interval here, select the value larger than 15 minutes if acceptable.
Configuration adjustments
To optimize Headwind MDM for a large number of devices, please adjust the following parameters of the Tomcat config file (/var/lib/tomcat9/conf/Catalina/localhost/ROOT.xml):
mqtt.message.delay - uncomment this parameter, and set the recommended value of 50 (milliseconds between Push messages). This will prevent the server from overloading when you update the configuration, see more details here: https://qa.h-mdm.com/17446/mqtt-overloads-my-server
device.fast.search.chars - this parameter enables Headwind MDM to perform a fast device search. By default, it searches for a substring of 5 symbols. Adjust this parameter if necessary.