With this release, we have some improvements for hypernode-fpm-status and livefpm! We enhanced the utility’s responsiveness, especially for big Hypernodes with high traffic loads.
Improved Performance for Big Hypernodes
For hypernode-fpm-status, we use a component called psutil to gather information about the connections and processes. However, the way we used psutil didn’t scale very nicely on bigger Hypernodes with a higher than average traffic load, resulting in slow response times ranging from 30 to 120 seconds. Such latency made the utility less effective during critical scenarios, like investigating performance issues during peak sales.
Optimized Connection Handling
To handle this situation better, we have implemented a set of improvements that tackles the root cause of the performance slowdown. We identified that the psutil library had limitations in handling the
/proc/net/tcp file, which can grow very large on big Hypernodes.
With the latest update,
hypernode-fpm-status now fetches all the open TCP connections for the system once, efficiently bypassing the need for repeated parsing of
/proc/net/tcp. This optimized approach significantly improves the utility’s performance by eliminating the delays caused by excessive connection parsing.
Improved User Experience
By implementing these performance enhancements,
hypernode-fpm-status (and as a result
livefpm as well) now runs smoothly, even on large Hypernodes with high traffic loads. Happy performance debugging!