10月26日の記事一覧

さくらのVPS、引き続きApacheチューニング

Apacheハンドブック

昨日はApacheの「Out of memory」エラー対策として apache2.conf の設定を変えました。

しかしMaxClientsを下げすぎたようで、アクセスピーク時にCPUのロードアベレージが下がらない状態になってしまいました。

仕方なくtopコマンドで状態を監視しつつ、MaxClientsを少しずつ変更し、120まで上げたところで一段落。

そんな流れを踏まえ、現在の “/etc/apache2/apache2.conf” には以下の変更を加えています。

MaxKeepAliveRequests 50
KeepAliveTimeout 5

<ifmodule mpm_prefork_module>
    StartServers         8
    MinSpareServers      8
    MaxSpareServers      8
    MaxClients          100
    MaxRequestsPerChild  4000
</ifmodule>

基本ポリシーとしては「遅くても良いから省メモリー」です。以下、変更内容の覚え書きです。

MaxKeepAliveRequests

“MaxKeepAliveRequests”は、KeepAliveを続けるリクエストの最大数だそうです。日本語で言い換えると「1ページを一度で読み込む為に必要なリクエスト数」と言うことらしいです。

初期値は100ですが、テキストメインの当ブログは少な目で良いだろうという判断で50まで下げてみました。

KeepAliveTimeout

“KeepAliveTimeout”は、KeepAliveを続ける秒数です。初期値は15秒ですが、思い切って5秒まで小さくしてみました。

StartServers, MinSpareServers, MaxSpareServers

StartServers, MinSpareServers, MaxSpareServersは待機プロセスの数を決定するそうです。

TOPで観察したところ、これがメモリ残量に大きく係わっているようだと分かりました。

Start, Min, Maxを揃えてオーバーヘッドを無くしつつ、上限を8に絞ることでメモリの空き容量を増やしました。

StartServers, MinSpareServers, MaxSpareServers

MaxClientsは昨晩のピーク時に暫定対策として120まで上げましたが、またちょっと下げて100にしてみました。

これも個々のプロセスのメモリ使用量に係わる値のようなので、省メモリサーバでは低めにした方が良いようです。

MaxRequestsPerChild

MaxRequestsPerChildは「個々の子サーバプロセスが扱うことのできるリクエストの制限数」だそうです。初期値は ‘0’ で制限されません。

TOPで観察したところ、動いてないけどメモリを食ってるプロセスが見えたので、ある程度行ったら再生成されるよう制限を設けてみました。

これで不正なメモリリークの予防と、積極的なメモリ解放が行われることを狙っています。

フィットネス66週目その2、Celebrity Sculpt

Tae Bo

いつもなら週末は腹筋なんだけど、気分を変えて有酸素運動。この「Get Celebrity Fit Sculpt Workout」は、ホント良い感じに心拍数が上がる。汗もダラダラでてくるし、何よりビリーが異常なほどテンション高めなのが良いね。

運動後、背中を見たお嫁さんに「肩の筋肉が減ってる」と言われてドッキリ。ここ1ヶ月ほど筋トレさぼってるからな~。筋肉を付けるのは大変だけど、落とすのはあっという間だな…

今日の人気記事