Performance checkpoints for Linux Optimization

Hardware
- BIOS settings: performance preference, power management
- Is CPU frequency abnormal (related to BIOS settings)?
- Is network card working mode abnormal?
- Is disk or RAID/SAS card working abnormally?
- Memory layout (bandwidth)
System Status
- Is CPU usage abnormal (absolute values of User/Sys/Wait, proportions, etc.)?
- Is CPU balanced?
- Memory usage ratio
- Is there swap, high context switch, high irq?
System Settings
- Network card irq allocation
- Resource limit settings
- NUMA
- TCP and other network parameter settings, such as buffer, congestion control algorithms, timeout settings, listen queue length
- Whether to use features with significant impact on network performance: iptables (conntrack), bridge, (userspace) tun
Applications
- Application network IO model
- Small or large traffic businesses. For large traffic businesses, pay attention to packet size and PPS factors.
- Lock usage mode
- The way memory is used determines the requirements for memory: data crunching (bandwidth), data transfer (latency)
- Whether it is syscall intensive
- Whether there is a lot of userspace-kernel space copy
- Whether there is a lot of network round trip (also see the network section)
- Note: In fact, the above are some specific forms of the multiplication effect.
- If there is a sudden surge, more headroom is needed for the required resources, and the thumb rule is 70% or 50%.
- Whether there is a tipping point, whether it is running near the tipping point
Network
- Are there any link quality issues in the network path, such as packet loss caused by error packets or congestion?
- Is there an incast (N-to-1) communication mode?
- Is there a rate mismatch (10G-to-1G)?
- Is delay friendly to N-trip access mode?
Buy Me a Coffee