Presented the release of the project netutils-linux 2.5.0, a set of utilities for monitoring and tuning the performance of the Linux network stack. Everything is written in Python (python 2.6+ and 3.4+ are supported) and is available under the MIT license.
The goal of the project is to simplify and unify the process of tuning the network stack and network cards, reducing the need to understand the network stack device for system administrators and free their heads from routine computing and writing from scratch heaps of identical bash scripts.
Recommendations for use are the availability of a channel with 200+ Mbit / s processed by a Linux-based machine, and requirements for minimizing delays and losses.
Since the last (and first) public release , several unpleasant bugs related to compatibility with architectures, Linux distributions, Python versions, and project dependencies have been fixed, making it impossible to run some utilities.
In addition to bug fixes, the codebase was improved, we managed to abandon the outdated optparse in favor of argparse ( why argparse, and not click ).
Other innovations
- The autorps and rss-ladder utilities are rewritten from Bash to Python with full backward compatibility. Automated equipment configuration in specific situations is also automated:
- Added warnings when using non-optimal parameters such as using foreign NUMA nodes and several queues of the same network card processed by the same core.
- autorps now by default uses only the kernels of the local network device for a NUMA node, instead of crashing on a system with multiple processors.
- exact specification of the list of cores that process packets;
- setting the "shift" for RSS, which is suitable in a situation where one physical processor with 8+ cores processes several network cards;
- Monitoring utilities (primarily network-top) highlight metrics whose values indicate increased load.
- Added autoxps utility to configure distribution of sending packets between processor cores.
- Added prototype of the snmptop utility for visualizing the / proc / net / snmp file.
Long-term project plans
- Replenishment examples of application .
- Packaging in standard for Linux distributions package formats.
- Adding a package to standard distribution repositories.
- Gather around you at least some community.
- Integration with Tuned and / or NetworkManager.
- Theoretically, the development of an algorithm that allows you to fully automatically configure all network cards in the optimal way in 90% of cases.
PS: the project participates in hacktoberfest , it seems that there is still a few unpretentious issue for the pythonists.