この日記のはてなブックマーク数 Subscribe with livedoor Reader

2006-01-31 Tue


MSN Messenger のミュージックボックスについて訂正 [IPv6]


指摘を受け、先日のエントリーを修正




ThinkPad s30 [ThinkPad]


実は下のエントリーは ThinkPad T40 が生きてる時に取ったデータだったりするわけです。
修理までの間、X21 で生きて行こうと思ってたんですが、メインメモリが 128MBなだけに、常に swap してるので、HDDの寿命に悪そうです。で、会社に転がっていた ThinkPad s30 に HDD を移し換え、メインメモリが一気に倍の 256MBに!......って虚しい orz

それはさておき、swap しなくなって、結構快適だったんですが、どうも Firefox と相性が悪いらしく、Xごと、突然お亡くなりなることが頻発。なんじゃこりゃ......

そうなると、電源を無理矢理落して、立ち上げ直すしかなくなるんですが、やっぱり HDD の寿命には良くない気がする。はぁ......



AllowOverride がパフォーマンスに与える影響 [Apache]


AllowOverride を All とかにするとパフォーマンスが悪くなるから、必要なところだけ enable にね。とかよく言われますが、どの程度影響があるんだろうか? と前々から気になってたので、実際に測定してみました。

ab(Apache Bench)を使って、10回試行、そのうち、最大と最小を削除し、8回で平均を取った値で比べてます。

$ ab2 -n 100 -c 10 http://127.0.0.1/~kunitake/index.html


1回の試行毎に 10秒、間を空けてあります。

実際の集計はこんな感じ(apache-bench.pl は単に ab を起動、出力の整形をしてる簡単なスクリプト)

$ ./apache-bentch.pl
Requests per second: 1389.64 [#/sec] (mean)
Requests per second: 1400.95 [#/sec] (mean)
Requests per second: 1390.26 [#/sec] (mean)
Requests per second: 1368.25 [#/sec] (mean)
Requests per second: 1362.36 [#/sec] (mean)
Requests per second: 1406.47 [#/sec] (mean)
Requests per second: 1375.48 [#/sec] (mean)
Requests per second: 1391.46 [#/sec] (mean)
Requests per second: 1373.49 [#/sec] (mean)
Requests per second: 1399.76 [#/sec] (mean)
 MIN/MAX/AVG : 1362.36/1406.47/1386.16125


環境は

Server Apache 1.3.34
Kernel Linux-2.6.14
FileSystem ReiserFS + LVM + dm-crypt

データ領域はとりあえず mount option に noatime を与えてあります(これによる Disk I/O の低減がパフォーマンスに目に見える形で貢献するのか、あとでまた調べよう)

で、実際に測定したのが以下。

- ALL
  "AllowOverride All" の設定で測定
- ALL + htaccess
  "AllowOverride All" および各ディレクトリに ".htaccess" を設置。
- None
  "AllowOverride None" の設定で測定

一応、秒間に何リクエストを捌いているかがY軸になりますが、コンテンツの大きさなど、さまざまな要件で簡単に増減すると思うので、数字としてはあまり気にしないでください。まぁそもそも CPU/Memory の値も書いてないし、肝心な apache の設定も書いてないので、傾向を見る程度で(^^;


Image

で、どの程度のパフォーマンスダウンと言えるのかと思って、パーセントに直したのが以下のグラフ。

Image


横軸にあるディクトリ階層とは

ディレクトリ階層 URL
0 http://localhost/~kunitake/index.html
1 http://localhost/~kunitake/1/index.html
2 http://localhost/~kunitake/1/2/index.html
3 http://localhost/~kunitake/1/2/3/index.html
4 http://localhost/~kunitake/1/2/3/4/index.html

こんな感じ

そもそも AllowOverride None ではないと、なんでパフォーマンスが落ちるかというと、リクエストされたコンテンツが置いてあるディレクトリに .htaccess があるかどうかを調べ、なければ、さらに上位のディレクトリに .htaccess がないかを調べ......というように再帰的に探しにいくからという記述がされているサイトもあるようですが、あろうがなかろうが、一番上まで探しにいって、さらに、深い方が設定的には優先されます(もしかしたら、上から順に .htaccess を探しに行くのかも?まぁ正確なところはソースコードみないとわからないけど)
まぁともかく、いちいちこんなチェックをしてるから遅くなるわけです。このことは、グラフからもそれは読み取れて、ディレクトリが深くなればなるほど、パフォーマンスが落ちていることからもわかるかと思います(さらに .htaccess があれば、その読み込みおよび評価も行う分遅くなりますね)

まぁどんな場合にもこのグラフのように数十%のパフォーマンスダウンが起きるわけではないとは思いますが、参考までに。

ついでに SSI を有効にして、実際に html にコンテンツを組み込む場合も測定してみましたが、こっちは約半分ぐらいに捌けるリクエストの数が減りました。やっぱ、パフォーマンスへの影響は大きいなぁ。

追記:2009-09-09
どうやらAllowOverrideの使い方を知りたくて Google で検索してくる人も多いようなので、そういった方は、下記を参照ください。
AllowOverrideについて



ThinkPad 保守マニュアル [ThinkPad]


ThinkPad T40 の保守マニュアルが欲しくなったので、探してみる。

http://www.ibm.com/jp/pc/home/manual/0410/a8888980.pdf

その他の機種に関してはマニュアル : ハードウェア保守マニュアル から検索


IPv4/IPv6 meter
検索キーワードは複数指定できます
ChangeLogを検索
Google
Web www.kunitake.org
思ったより安い……時もある、Amazon

カテゴリ