MDM optimization for high load

Headwind MDM was used to manage more than 50.000 mobile devices, so our team has real experience of the software optimization for high load. Here are top 5 issues arising while using Headwind MDM with many mobile devices.

  1. Network congestion while updating the configuration. When the admin updates the configuration, a Push notification is sent to all managed devices and when they request data at the same time, the network could be overloaded. To fix this issue, the admin should throttle the speed of Push notifications by the configuration parameter mqtt.message.delay (delay in milliseconds between two subsequent Push messages).
  2. Database overload by old logs and device information records. By default, these data are stored for 30 days. If you encounter delays while searching logs or device information records, consider reducing this time in Settings – Logs and Settings – Detailed Information. Verbose logs may be turned off for higher system performance.
  3. Long time of searching devices. By default, devices are searched by multiple parameters like device ID, IMEI, serial number, group, etc., which may cause delays when searching among thousands of devices. To increase the usability and avoid delays, there is a “fast search” option which searches by the last characters of the device ID only. The number of characters is defined in the device.fast.search.chars parameter (5 characters by default).
  4. A collapse when the web page refresh time is lower than the rendering time. This problem had been observed in earlier versions of Headwind MDM. In the latest versions, there is a protection against this behavior.
  5. High CPU usage by background processes. Headwind MDM use background processes to recalculate device statuses. These processes are maximally optimized in the latest versions of Headwind MDM, however they still could generate high load. To avoid occasional looping, consider restarting Tomcat regularly (for example, weekly).

Maintenance hints

For maximal reliability, high load production systems require proper monitoring and maintenance. Here are some hints for the Headwind MDM system administrator which could help improving the Headwind MDM reliability.

  1. Monitor the storage. 90% of the system faults are caused by the lack of storage space. Set up proper log rotation, especially for Tomcat log files.
  2. Monitor the CPU usage. Despite high CPU load itself rarely causes any faults, it may be a sign of system problems, either software or hardware-related.
  3. Use a virtual machine with dynamic resources. You may consider adding more RAM or CPU when the number of managed devices grows.