(源泉:fileden.com)
以下は、コアに加えて最大14個のモジュールが追加され、アクティビティやユーザーがいない未完成のcms drupalサイトで私が今日作業しているタスクのスクリーンショットです。
ご覧のとおり、私の限界に達しました。本当に言葉にならないことです。したがって、VPSが最小限で現在の要件に適している必要があるため、Apache、mysql、およびphpのメモリ使用量を制限する必要があります。
私のシステムファイルmy.cnfには他の場所で見たパラメータのリストはありませんが、このファイルは明らかにメモリ使用量を減らします。私のための場合所有。
それでは、Apacheやphp5を削除せずにメモリ使用量を大幅に減らす方法は何ですか?
私はmysqlバージョン5.1.66を使用しています。 innodbのように見え、yabbit.net/mysql.txt変数が表示されます。
答え1
MySQLの設定ではなく、Apacheの設定が原因のようです。現在のMySQL設定は、全体のサイズが50MBを超えてはいけません(通常は低いようです)。
しかし、コメントに投稿したApache設定とVPSが256MBのRAMのみを提供するという事実から、次の設定が見つかりました。
MaxClients 256
Prefork MPMの場合方法このようなマシンには多すぎます。私のDebian Squeeze Webサーバーでは、フォークあたり約20MBの使用量が表示されているため、約15個の接続がシステム上のすべてのメモリを使用していました。あまりにも多くの同時接続を確保してプロセスが中断したり、多くのスワップスペースを使用することは困難ではありません。結果:サーバーが正しく機能しないか、サービス応答が遅くなります。
私はあなたに提供します:
たとえば、プリフォーク構成を大幅に縮小します。
<IfModule mpm_prefork_module> StartServers 10 MinSpareServers 5 MaxSpareServers 15 MaxClients 15 MaxRequestsPerChild 2000 </IfModule>
同時に、8人以上の訪問者にサービスを提供できないことを受け入れてください(通常はブラウザごとに2つのクライアント接続)。これは、選択したLAMP構成と組み合わせたメモリ量の制限です。
PHP-FPMに移行し、小さなプールを設定し、動作しているMPMまたは他のWebサーバー(nginxなど)に移行します。ワーカーMPMは、メモリを共有しないフォークの代わりに共有メモリスレッドを使用します。これにより、より多くの同時訪問者を処理できます。