幸運なことに、私のウェブサイトは急速に広まりましたが、もちろんサーバーはそれに対応できる準備ができていませんでした。
残念ながら、私のセットアップは非常に悪く、Apache、PHP (Laravel)、Mongodb、redis を備えた単一のサーバーです。
バックエンド (laravel) は主に REST API を提供します。現在、1000 人以上の同時ユーザーが Web サイトを使用しようとしており、すべての読み込みが非常に遅くなっています。ターミナルからアクセスでき、クエリがすぐに解決されるため、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>
top
これを 使用すると、私にとっては問題ないように思えます:
誰か私に正しい方向を指し示してくれますか?