我很幸运,我的网站迅速走红,而服务器当然还没有做好准备。
不幸的是,我的设置很糟糕,只有一台服务器,里面有 Apache、PHP(Laravel)、Mongodb 和 redis。
后端(laravel)主要提供 REST API。我目前有 1000 多个并发用户尝试使用该网站,但加载速度非常慢。MongoDB 似乎运行良好,因为我可以通过终端访问它,查询可以立即得到解决。让我担心的是 Apache/PHP FPM 配置。
我的服务器:8 核,16GB RAM
我尝试使用 PHP FPM 配置,但并没有太大改进。目前我使用的是static
300 max_children
。
在 Apache 上我使用具有以下配置的 MPM 事件:
<IfModule mpm_event_module>
ServerLimit 40
StartServers 2
MinSpareThreads 50
MaxSpareThreads 100
ThreadLimit 64
ThreadsPerChild 50
MaxRequestWorkers 1000
MaxConnectionsPerChild 0
</IfModule>
有人能给我指明正确的方向吗?