apache2.2 チューニング
2月3日の話の続き。yapache なんてないよなあと当時あきらめていたら、apache2.2だと普通に使えるのが判明。
/boot/loader.conf に以下のように書いておくと、accf_http, accf_data カーネルモジュールが読み込まれる。
accf_http_load="YES" accf_data_load="YES"
FreeBSDにおけるapache22はデフォルトの設定でこれらのカーネルモジュールによるバッファリングをしてくれる。
ベンチマークはとってないが、フロントのキャッシュandロードバランササーバあたりで利用するとすごくよさげだ。
sysctl kern.ipc.maxsockbuf
の値は262144だった。主に文字を更新するだけならこんなもんか。画像アップロードしようとすると足りないかな。
カーネルモジュール内でSSLネゴシエーション(しかもSSLアクセラレータカード利用)とかしてくれたら神だが、
そーゆーのはどっかがSSLアクセラレータとして売っている商品そのものであろう。
確認作業
telnet mimori.org 80
で接続しながらSetHandler server-status (ExtendedStatus On)な画面をチェック。
GET / HTTP/1.0(改行)
まで入れたところでチェックしても Reading Request な状態は表示されない。
その代わり以前はあんまり見なかった Closing connection な状態を見るようになった。
カーネルに送信内容を投げた後、送信完了するのを待っているのだろうか。
TODO: rotatelogs または cronolog の導入