Tuning Linux network stack for higher speeds
valthebald
Network performance is probably the last in the list of things that you will check when looking for performance bottlenecks. Yet the wide adoption of 10Gbit/s network cards makes network performance on par with the storage subsystem, if not exceeds it. We also need to take into account, that data needs to be processed before sending to the end client.
Unfortunately, default configuration of general purpose Linux distributions doesn't work well with network bandwidths higher that 100Mbps.
I am going to review what steps can be done to improve the situation:
- File system settings
- Network settings
- IO buffering and caching
- MySQL (and its forks) settings
- PHP settings in FPM and apache module modes
- Web server and reverse proxy settings
- Drupal-specific optimizations (for Drupal 7 and 8)