mod_proxy によるリバース・プロキシの設定」で使用したマシンで、両者の性能を比較してみます。

worker MPMの設定以下のようにしました。

<IfModule worker.c>
StartServers 7
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 150
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>

※メモリキャッシュの単位が、プロセス毎なので、プロセス数が7より下回らないようにしました。

■mod_mem_cache(1回目)

CODE:

  1. # ab -n 1000 -c 100 http://192.168.1.118/image1/madonna.jpg
  2. This is ApacheBench, Version 2.0.41-dev &lt;$Revision: 1.141 $&gt; apache-2.0
  3. Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
  4. Copyright (c) 1998-2002 The Apache Software Foundation, http://www.apache.org/
  5.  
  6. Benchmarking 192.168.1.118 (be patient)
  7. Completed 100 requests
  8. Completed 200 requests
  9. Completed 300 requests
  10. Completed 400 requests
  11. Completed 500 requests
  12. Completed 600 requests
  13. Completed 700 requests
  14. Completed 800 requests
  15. Completed 900 requests
  16. Finished 1000 requests
  17.  
  18. Server Software: Apache
  19. Server Hostname: 192.168.1.118
  20. Server Port: 80
  21.  
  22. Document Path: /image1/madonna.jpg
  23. Document Length: 6224340 bytes
  24.  
  25. Concurrency Level: 100
  26. Time taken for tests: 565.240794 seconds
  27. Complete requests: 1000
  28. Failed requests: 0
  29. Write errors: 0
  30. Total transferred: -2115411649 bytes
  31. HTML transferred: -2115784277 bytes
  32. Requests per second: 1.77 [#/sec] (mean)
  33. Time per request: 56524.078 [ms] (mean)
  34. Time per request: 565.241 [ms] (mean, across all concurrent requests)
  35. Transfer rate: -3654.78 [Kbytes/sec] received
  36.  
  37. Connection Times (ms)
  38. min mean[+/-sd] median max
  39. Connect: 3 797 492.7 904 3546
  40. Processing: 3430 53248 14751.2 52013 151676
  41. Waiting: 19 1086 965.3 914 5448
  42. Total: 3433 54045 14756.7 52926 152012
  43.  
  44. Percentage of the requests served within a certain time (ms)
  45. 50% 52926
  46. 66% 53639
  47. 75% 53858
  48. 80% 54012
  49. 90% 66280
  50. 95% 82861
  51. 98% 104489
  52. 99% 114783
  53. 100% 152012 (longest request)

■mod_mem_cache(2回目)

CODE:

  1. # ab -n 1000 -c 100 http://192.168.1.118/image1/madonna.jpg
  2. This is ApacheBench, Version 2.0.41-dev &lt;$Revision: 1.141 $&gt; apache-2.0
  3. Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
  4. Copyright (c) 1998-2002 The Apache Software Foundation, http://www.apache.org/
  5.  
  6. Benchmarking 192.168.1.118 (be patient)
  7. Completed 100 requests
  8. Completed 200 requests
  9. Completed 300 requests
  10. Completed 400 requests
  11. Completed 500 requests
  12. Completed 600 requests
  13. Completed 700 requests
  14. Completed 800 requests
  15. Completed 900 requests
  16. Finished 1000 requests
  17.  
  18. Server Software: Apache/2.2.3
  19. Server Hostname: 192.168.1.118
  20. Server Port: 80
  21.  
  22. Document Path: /image1/madonna.jpg
  23. Document Length: 6224340 bytes
  24.  
  25. Concurrency Level: 100
  26. Time taken for tests: 541.216442 seconds
  27. Complete requests: 1000
  28. Failed requests: 0
  29. Write errors: 0
  30. Total transferred: 2039502188 bytes
  31. HTML transferred: 2039117838 bytes
  32. Requests per second: 1.85 [#/sec] (mean)
  33. Time per request: 54121.643 [ms] (mean)
  34. Time per request: 541.216 [ms] (mean, across all concurrent requests)
  35. Transfer rate: 3680.05 [Kbytes/sec] received
  36.  
  37. Connection Times (ms)
  38. min mean[+/-sd] median max
  39. Connect: 4 616 245.5 621 1066
  40. Processing: 47056 52330 1134.5 52406 58867
  41. Waiting: 3 620 313.8 608 2666
  42. Total: 47064 52946 1217.7 53016 58875
  43.  
  44. Percentage of the requests served within a certain time (ms)
  45. 50% 53016
  46. 66% 53472
  47. 75% 53631
  48. 80% 53705
  49. 90% 54034
  50. 95% 54405
  51. 98% 54774
  52. 99% 55301
  53. 100% 58875 (longest request)

「Requests per second」をみると、1回目よりキャッシュ作成コストがかからない分良くなっています。
■mod_disk_cache (1回目)

CODE:

  1. # ab -n 1000 -c 100 http://192.168.1.118/image1/madonna.jpg
  2. This is ApacheBench, Version 2.0.41-dev &lt;$Revision: 1.141 $&gt; apache-2.0
  3. Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
  4. Copyright (c) 1998-2002 The Apache Software Foundation, http://www.apache.org/
  5.  
  6. Benchmarking 192.168.1.118 (be patient)
  7. Completed 100 requests
  8. Completed 200 requests
  9. Completed 300 requests
  10. Completed 400 requests
  11. Completed 500 requests
  12. Completed 600 requests
  13. Completed 700 requests
  14. Completed 800 requests
  15. Completed 900 requests
  16. Finished 1000 requests
  17.  
  18. Server Software: Apache
  19. Server Hostname: 192.168.1.118
  20. Server Port: 80
  21.  
  22. Document Path: /image1/madonna.jpg
  23. Document Length: 6224340 bytes
  24.  
  25. Concurrency Level: 100
  26. Time taken for tests: 563.948094 seconds
  27. Complete requests: 1000
  28. Failed requests: 0
  29. Write errors: 0
  30. Total transferred: -2083013024 bytes
  31. HTML transferred: -2083393028 bytes
  32. Requests per second: 1.77 [#/sec] (mean)
  33. Time per request: 56394.812 [ms] (mean)
  34. Time per request: 563.948 [ms] (mean, across all concurrent requests)
  35. Transfer rate: -3607.06 [Kbytes/sec] received
  36.  
  37. Connection Times (ms)
  38. min mean[+/-sd] median max
  39. Connect: 3 820 487.6 907 9282
  40. Processing: 14690 52816 11812.7 51971 131135
  41. Waiting: 29 1173 1222.0 916 7325
  42. Total: 14697 53636 11855.9 52881 131596
  43.  
  44. Percentage of the requests served within a certain time (ms)
  45. 50% 52881
  46. 66% 53513
  47. 75% 53818
  48. 80% 53898
  49. 90% 55288
  50. 95% 77010
  51. 98% 93809
  52. 99% 107308
  53. 100% 131596 (longest request)

■測定開始直後のI/Oレポート

CODE:

  1. # sar 1 10 -b
  2. Linux 2.6.18-8.el5xen (xen-centos5-2) 20070523
  3.  
  4. 151930秒 tps rtps wtps bread/s bwrtn/s
  5. 1519313932.32 0.00 3932.32 0.00 38488.89
  6. 15193214827.45 0.00 14827.45 0.00 123215.69
  7. 151933178.79 0.00 178.79 0.00 3078.79
  8. 151934192.08 0.00 192.08 0.00 2693.07
  9. 151935388.12 0.00 388.12 0.00 5528.71
  10. 1519364013.00 0.00 4013.00 0.00 34744.00
  11. 15193713776.00 2.00 13774.00 16.00 114408.00
  12. 151938145.54 0.00 145.54 0.00 2027.72
  13. 151939312.00 0.00 312.00 0.00 4480.00
  14. 151940585.00 0.00 585.00 0.00 7600.00
  15. 平均値:      3849.75 0.20 3849.55 1.60 33740.38

キャッシュを作成しています。ディスクの書き込みが発生しています。

■測定終了間際のI/Oレポート

CODE:

  1. # sar 1 10 -b
  2. Linux 2.6.18-8.el5xen (xen-centos5-2) 20070523
  3.  
  4. 152154秒 tps rtps wtps bread/s bwrtn/s
  5. 1521550.00 0.00 0.00 0.00 0.00
  6. 1521560.00 0.00 0.00 0.00 0.00
  7. 1521570.00 0.00 0.00 0.00 0.00
  8. 1521580.00 0.00 0.00 0.00 0.00
  9. 15215916.00 0.00 16.00 0.00 208.00
  10. 1522000.00 0.00 0.00 0.00 0.00
  11. 1522010.00 0.00 0.00 0.00 0.00
  12. 1522020.00 0.00 0.00 0.00 0.00
  13. 1522030.00 0.00 0.00 0.00 0.00
  14. 15220418.00 0.00 18.00 0.00 224.00
  15. 平均値:      3.39 0.00 3.39 0.00 43.11

キャッシュの作成も終わり、ページキャッシュに乗っているのでI/Oが発生していません。

■mod_disk_cache (2回目)

CODE:

  1. # ab -n 1000 -c 100 http://192.168.1.118/image1/madonna.jpg
  2. This is ApacheBench, Version 2.0.41-dev &lt;$Revision: 1.141 $&gt; apache-2.0
  3. Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
  4. Copyright (c) 1998-2002 The Apache Software Foundation, http://www.apache.org/
  5.  
  6. Benchmarking 192.168.1.118 (be patient)
  7. Completed 100 requests
  8. Completed 200 requests
  9. Completed 300 requests
  10. Completed 400 requests
  11. Completed 500 requests
  12. Completed 600 requests
  13. Completed 700 requests
  14. Completed 800 requests
  15. Completed 900 requests
  16. Finished 1000 requests
  17.  
  18. Server Software: Apache/2.2.3
  19. Server Hostname: 192.168.1.118
  20. Server Port: 80
  21.  
  22. Document Path: /image1/madonna.jpg
  23. Document Length: 6224340 bytes
  24.  
  25. Concurrency Level: 100
  26. Time taken for tests: 564.10562 seconds
  27. Complete requests: 1000
  28. Failed requests: 0
  29. Write errors: 0
  30. Total transferred: -1987294130 bytes
  31. HTML transferred: -1987678482 bytes
  32. Requests per second: 1.77 [#/sec] (mean)
  33. Time per request: 56401.056 [ms] (mean)
  34. Time per request: 564.011 [ms] (mean, across all concurrent requests)
  35. Transfer rate: -3440.92 [Kbytes/sec] received
  36.  
  37. Connection Times (ms)
  38. min mean[+/-sd] median max
  39. Connect: 4 539 310.6 515 3545
  40. Processing: 49131 52397 1825.6 52310 86632
  41. Waiting: 4 477 299.9 431 3572
  42. Total: 50026 52937 1827.3 52796 87669
  43.  
  44. Percentage of the requests served within a certain time (ms)
  45. 50% 52796
  46. 66% 53060
  47. 75% 53299
  48. 80% 53442
  49. 90% 53753
  50. 95% 54111
  51. 98% 55382
  52. 99% 58398
  53. 100% 87669 (longest request)

「Requests per second」を見るかぎり1回目と同じですが、「Connection Times 」をみると良くなっているのがわかります。

■測定開始直後のI/Oレポート

CODE:

  1. # sar 1 10 -b
  2. Linux 2.6.18-8.el5xen (xen-centos5-2) 20070523
  3.  
  4. 152935秒 tps rtps wtps bread/s bwrtn/s
  5. 1529360.00 0.00 0.00 0.00 0.00
  6. 1529370.00 0.00 0.00 0.00 0.00
  7. 1529380.00 0.00 0.00 0.00 0.00
  8. 1529390.00 0.00 0.00 0.00 0.00
  9. 15294011.88 0.00 11.88 0.00 158.42
  10. 1529410.00 0.00 0.00 0.00 0.00
  11. 1529420.00 0.00 0.00 0.00 0.00
  12. 1529430.00 0.00 0.00 0.00 0.00
  13. 1529440.00 0.00 0.00 0.00 0.00
  14. 1529450.00 0.00 0.00 0.00 0.00
  15. 平均値: 1.20 0.00 1.20 0.00 15.95

ほんの少しの差ですが、メモリキャッシュに軍配があがりましたが、ページキャッシュに乗っているのでほぼ同じです。

■mod_mem_cacheのメモリ使用率

CODE:

  1. # free -m
  2. total       used       free     shared    buffers     cached
  3. Mem:           768        414        353          0         24        196
  4. -/+ buffers/cache:        192        575
  5. Swap:         1023          0       1023

残メモリ=353 + 24 + 196 = 573M

■mod_disk_cacheのメモリ使用率

CODE:

  1. free -m
  2. total       used       free     shared    buffers     cached
  3. Mem:           768        348        419          0         24        196
  4. -/+ buffers/cache:        127        641
  5. Swap:         1023          0       1023

残メモリ=419 + 24 + 196 = 639M

 

関連会社インターオフィスのブログ記事を転載しています。