performance - 使用 MPM 事件调整高流量的 Apache 性能
问题描述
我目前管理着以下一组服务器,它们为大约 700 个网页提供服务:
服务器 1(网络)
- Web 服务器:带有 MPM 事件的 Apache 2.4.29
- PHP 7.2.22
- CPU:Intel Xeon CPU E5-2673 v4 @2.30GHz(4核)16GB内存
- 所以:Ubuntu 服务器 18.04.2 LTS
服务器 2(数据库)
- 数据库:mysql 10.2.26
- CPU:Intel Xeon CPU E5-2673 v4 @2.30GHz(8 核)32 GB 内存
- 所以:Ubuntu 服务器 18.04.2 LTS
两台服务器都连接在同一个本地网络上。
我经常遇到性能问题,我认为这是因为我没有正确优化 Apache。
Web 服务器接收到许多无法很好管理的 Web 请求,并产生高 CPU 消耗,从而导致整个服务器运行缓慢。
目前这是我使用的 MPM 配置,我认为它不能正确管理连接:
<IfModule mpm_event_module>
StartServers 2
MinSpareThreads 25
MaxSpareThreads 75
ThreadLimit 64
ThreadsPerChild 25
MaxRequestWorkers 550
ServerLimit 32
MaxConnectionsPerChild 0
</IfModule>
谁能根据服务器的要求和特性告诉我 MPM 的最佳配置?
解决方案
试试这些设置:
<IfModule mpm_event_module>
StartServers 4
MinSpareThreads 25
MaxSpareThreads 75
ThreadLimit 64
ThreadsPerChild 25
MaxRequestWorkers 800
ServerLimit 32
MaxConnectionsPerChild 10000
</IfModule>
推荐阅读
- elasticsearch - Elasticsearch 一个用于多个字段的正则表达式
- html - 引导面板标题,如何防止文本换行
- laravel - 在服务器上共享网站后,只有主页有效
- regex - 删除文本文件中的非 latin-1 字符
- java - Java BigDecimal 与 Android BigDecimal
- freertos - freertos 如何在 Arduino 上工作以中断任务
- java - 骆驼Bindy @csvRecord 生成页脚
- python - 检查用户输入字符串以避免“懒惰输入”
- java - Android:屏幕关闭 - 通知延迟/阻塞
- android - Android Bitmap 空对象引用