Apache2の設定
DebianにおけるApache2設定ファイルのメカニズムについて考察する。
■DebianにおけるApache2設定ファイルのメカニズム
- /etc/apache2/README を読む
- 要するに、できるだけ柔軟に設定を切り替えられるように設定ファイルを切り分けたということ
- プライマリな設定ファイルとして使われるのは/etc/apache2/apache2.confたった一つ
- このファイルにはまったく手を触れないことが想定されている
- このファイルから下記の順番で実際の個々の設定ファイルを読み込む
Include /etc/apache2/mods-enabled/*.load Include /etc/apache2/mods-enabled/*.conf Include /etc/apache2/httpd.conf Include /etc/apache2/ports.conf Include /etc/apache2/conf.d/[^.#]* Include /etc/apache2/sites-enabled/[^.#]*
- それぞれの個々の設定ファイルに適切なことを書くべし
■mods-available
- 個々のファイルを見てみると、実際には個々のファイルは非常に小さい
■mod_cache, mod_disk_cacheの利用
- mod_cache + mod_disk_cache を利用した apache2 のパフォーマンス改善とその効果
- /etc/apache2/mods-available/disk_cache.conf
% cd /etc/apache2/mods-available % vi disk_cache.conf <IfModule mod_cache.c> <IfModule mod_disk_cache.c> CacheRoot "/var/cache/apache2/disk_cache" CacheSize 524288 CacheEnable disk / CacheDirLevels 4 CacheDirLength 5 </IfModule> </IfModule>
- cache 用ディレクトリの作成
# mkdir /var/cache/apache2/disk_cache
ベンチマーク
- mod_cache + mod_disk_cache 使用前後のベンチマーク比較 (ApacheBench を利用)
すでにONにしていた場合、OFFにする
# a2dismod cache # a2dismod disk_cache # apache2ctl configtest # apache2ctl restart
- mod_cache + mod_disk_cache 使用前 (HTMLへのアクセス)
% ab -n 100 -c 10 http://localhost/qwik/
Time taken for tests: 1.773201 seconds
Requests per second: 56.40 [#/sec] (mean)
Time per request: 177.320 [ms] (mean)
Time per request: 17.732 [ms] (mean, across all concurrent requests)
Transfer rate: 227.84 [Kbytes/sec] received
min mean[+/-sd] median max
Connect: 3 77 51.8 73 216
Processing: 17 98 53.9 97 232
Waiting: 0 79 54.4 77 206
Total: 138 176 31.2 185 237
50% 185
66% 187
75% 192
80% 207
90% 236
95% 236
98% 237
99% 237
100% 237 (longest request)
Time taken for tests: 1.713442 seconds
Requests per second: 58.36 [#/sec] (mean)
Time per request: 171.344 [ms] (mean)
Time per request: 17.134 [ms] (mean, across all concurrent requests)
Transfer rate: 235.78 [Kbytes/sec] received
min mean[+/-sd] median max
Connect: 3 77 51.0 71 192
Processing: 17 92 50.9 95 207
Waiting: 0 73 51.0 68 171
Total: 138 170 24.6 182 213
50% 182
66% 184
75% 186
80% 187
90% 212
95% 213
98% 213
99% 213
100% 213 (longest request)
- mod_cache と mod_disk_cache の有効化
# a2enmod cache # a2enmod disk_cache # apache2ctl configtest # apache2ctl restart
- mod_cache + mod_disk_cache 使用後 (HTMLへのアクセス)
% ab -n 100 -c 10 http://localhost/qwik/
Time taken for tests: 0.534895 seconds
Requests per second: 186.95 [#/sec] (mean)
Time per request: 53.490 [ms] (mean)
Time per request: 5.349 [ms] (mean, across all concurrent requests)
Transfer rate: 792.68 [Kbytes/sec] received
min mean[+/-sd] median max
Connect: 3 25 69.4 4 330
Processing: 4 25 65.9 6 408
Waiting: 0 18 53.2 3 274
Total: 8 51 122.8 10 420
50% 10
66% 12
75% 13
80% 13
90% 415
95% 418
98% 419
99% 420
100% 420 (longest request)
Time taken for tests: 0.169890 seconds
Requests per second: 588.62 [#/sec] (mean)
Time per request: 16.989 [ms] (mean)
Time per request: 1.699 [ms] (mean, across all concurrent requests)
Transfer rate: 2378.01 [Kbytes/sec] received
min mean[+/-sd] median max
Connect: 5 6 1.3 7 9
Processing: 7 8 1.5 9 12
Waiting: 0 3 2.3 4 8
Total: 14 15 1.2 15 17
50% 15
66% 16
75% 16
80% 17
90% 17
95% 17
98% 17
99% 17
100% 17 (longest request)
Time taken for tests: 0.158514 seconds
Requests per second: 630.86 [#/sec] (mean)
Time per request: 15.851 [ms] (mean)
Time per request: 1.585 [ms] (mean, across all concurrent requests)
Transfer rate: 2548.67 [Kbytes/sec] received
min mean[+/-sd] median max
Connect: 5 5 1.2 6 7
Processing: 6 8 1.4 8 12
Waiting: 0 3 2.1 4 7
Total: 13 14 1.4 14 18
50% 14
66% 15
75% 15
80% 15
90% 16
95% 18
98% 18
99% 18
100% 18 (longest request)
- すげー早くなった!
■リンク
- ApacheConf2 ? j-lab http://ns.jk.to/zwiki/ApacheConf2
■qwik.jpへの適用
やってみよう。
- 適用してない段階でのベンチマーク
% ab -n 100 -c 10 http://qwik.jp/
Time taken for tests: 2.733603 seconds
Requests per second: 36.58 [#/sec] (mean)
Time per request: 273.360 [ms] (mean)
Time per request: 27.336 [ms] (mean, across all concurrent requests)
Transfer rate: 248.39 [Kbytes/sec] received
min mean[+/-sd] median max
Connect: 5 9 3.4 8 20
Processing: 131 255 210.7 187 906
Waiting: 120 244 210.7 175 896
Total: 138 264 210.4 196 912
50% 196
66% 210
75% 212
80% 217
90% 868
95% 897
98% 901
99% 912
100% 912 (longest request)
Time taken for tests: 2.37523 seconds
Requests per second: 49.08 [#/sec] (mean)
Time per request: 203.752 [ms] (mean)
Time per request: 20.375 [ms] (mean, across all concurrent requests)
Transfer rate: 333.25 [Kbytes/sec] received
min mean[+/-sd] median max
Connect: 5 7 2.6 7 17
Processing: 88 186 28.7 187 415
Waiting: 78 175 28.5 177 403
Total: 94 194 29.2 194 426
50% 194
66% 201
75% 203
80% 204
90% 208
95% 215
98% 225
99% 426
100% 426 (longest request)
- onにする
% ab -n 100 -c 10 http://qwik.jp/
Time taken for tests: 0.607373 seconds
Requests per second: 164.64 [#/sec] (mean)
Time per request: 60.737 [ms] (mean)
Time per request: 6.074 [ms] (mean, across all concurrent requests)
Transfer rate: 1126.16 [Kbytes/sec] received
min mean[+/-sd] median max
Connect: 5 11 3.5 11 27
Processing: 18 40 48.6 28 297
Waiting: 4 27 48.5 13 284
Total: 24 52 48.2 38 308
50% 38
66% 41
75% 43
80% 44
90% 56
95% 175
98% 304
99% 308
100% 308 (longest request)
Time taken for tests: 0.501555 seconds
Requests per second: 199.38 [#/sec] (mean)
Time per request: 50.156 [ms] (mean)
Time per request: 5.016 [ms] (mean, across all concurrent requests)
Transfer rate: 1387.68 [Kbytes/sec] received
min mean[+/-sd] median max
Connect: 6 13 3.9 13 29
Processing: 24 33 6.1 32 52
Waiting: 8 18 7.6 16 41
Total: 34 46 6.4 45 68
50% 45
66% 49
75% 50
80% 51
90% 53
95% 63
98% 67
99% 68
100% 68 (longest request)
- はやくなった!
Last modified: 2006-09-05