Apacheの使用メモリを減らす

外出自粛生活も2か月経過。。。

そろそろお店も開き始めてきているのだった。。。
でもラジコンは飛行場が6月末まで使用停止なのでフライトできず。

というわけでこのブログも放置状態だったけど先日あまりに表示が遅いので原因を調査♪
まあ想像はついたけどさくらVPSのメモリが1GBしかないのが原因。で、どうせアクセス数も少ないのでWebサーバの設定をいじってみた。

具体的には最大スレッド数を減らしてメモリを開けてあげようという魂胆。
とりあえず遅い場合のメモリ使用量。freeコマンドで取得。

[root]# free
total used free shared buff/cache available
Mem: 1016156 883540 65260 2000 67356 11220
Swap: 4194300 4178664 15636

空きメモリは「free」のところで、65260k(大体64Mくらい)しかあいてない(・_・;)
純粋に使われていない領域「available」は約11M。。。( ;∀;)

というわけでApacheのプロセス数を絞ることに。どうせアクセス少ないので。。。( ;∀;)
Apacheのバージョンは2.4.29、とりあえずmpm.confでeventモジュールがあるのを確認

LoadModule mpm_event_module modules/mod_mpm_event.so

で、そのmpm.conf内に下記の記述を追加。


StartServers 2
MinSpareThreads 5
MaxSpareThreads 10
ThreadLimit 32
ThreadsPerChild 5
MaxRequestWorkers 30
MaxConnectionsPerChild 0

意味はそれぞれ
StartServers   起動時の子プロセス数
MinSpareThreads  アイドル時最小スレッド数
MaxSpareThreads  アイドル時最大スレッド数
ThreadLimit     スレッド上限
ThreadsPerChild   子プロセスごとに生成するスレッド数
MaxRequestWorkers  子プロセスごとの最大リクエスト数
MaxConnectionsPerChild 子プロセスごとの最大コネクション数

というように設定してサーバを再起動

systemctl restart httpd

もう一度freeコマンドで空きメモリを確認すると

[root]# free
total used free shared buff/cache available
Mem: 1016156 164588 721936 1444 129632 701024
Swap: 4194300 538348 3655952

おお700M以上空いた!!!(^^)!
動作もきびきび♪

設定の詳細はこちら。
https://httpd.apache.org/docs/2.4/mod/event.html

This entry was posted in ソフトウェア開発, 個人的メモ. Bookmark the permalink.

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください