最近キャッシュの量とかメモリ関係をいじったので、果たして使い物になるのだろうか、ということを確かめたかった。
プロキシの負荷テストに、apache同梱のabコマンドが使えると言うことを目にしたので、早速試す。
virtualboxのcentosにapacheをyumでインストール
yum install httpd
その後、squidの入ったサーバに対し、無線LAN経由で早速試したが書式に困る。
-Xでプロキシ指定と書かれている
http://www.omnioo.com/record/ubuntudebian/web_apache_ab_command/
が、何故か通らない。
と思ったらそりゃそうだ。透過プロキシなんだもん。
普通にアクセスしてやればいいのではないか。
で、普通にアクセスすると、やっぱり通らない。
首を捻りながら他の書式を参考に、接頭として「http://」、接尾に「/」を入れると通る。
ううむ・・・。
ということで、通った書式は
ab -c 100 -n 10000 http://192.168.168.168/
192.168.168.168は、squidプロキシサーバのIPアドレス
-cは同時接続数、-nは総リクエスト数
-cの値を400でやってみた時のログが下。500にするとfaildがかなり出たのでそこまでは使えないんだろうけど、
400台からリクエスト受けることなんて無いので、十分満足な結果。また、総リクエスト数は10,000だろうが100,000だろうがエラーは出なかった。
# ab -c 400 -n 10000 http://192.168.168.168/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking 192.168.168.168 (be patient)
Completed 1000 requests
Completed 2000 requests
Completed 3000 requests
Completed 4000 requests
Completed 5000 requests
Completed 6000 requests
Completed 7000 requests
Completed 8000 requests
Completed 9000 requests
Completed 10000 requests
Finished 10000 requests
Server Software: squid/3.1.10
Server Hostname: 192.168.168.168
Server Port: 80
Document Path: /
Document Length: 3149 bytes
Concurrency Level: 400
Time taken for tests: 21.348 seconds
Complete requests: 10000
Failed requests: 0
Write errors: 0
Non-2xx responses: 10065
Total transferred: 35295756 bytes
HTML transferred: 31642161 bytes
Requests per second: 468.43 [#/sec] (mean)
Time per request: 853.912 [ms] (mean)
Time per request: 2.135 [ms] (mean, across all concurrent requests)
Transfer rate: 1614.62 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 2 248 621.4 60 4298
Processing: 106 533 1064.4 215 11993
Waiting: 104 357 591.2 197 9319
Total: 113 781 1367.8 294 12831
Percentage of the requests served within a certain time (ms)
50% 294
66% 592
75% 806
80% 975
90% 1493
95% 3182
98% 4819
99% 6595
100% 12831 (longest request)
topで観察していると、cpuは40%から50%ぐらい使っている。
システム的にはceleron1037uでメモリ8GB。
squidのキャッシュ設定は
cache_dir ufs /var/spool/squid/cache_l 8192 16 256
maximum_object_size 131072 KB
cache_mem 1024 MB
追記
http://okwave.jp/qa/q9003206.html
で貼られていたので・・・
ベンダーさんの100台まで発言は見過ごせませんね・・・。
僕の稼働実績としては200台近くまでありますよ。
スループットも特に問題になったことはありません。
忌々しいchache.google.comにどれだけ接続されようとも・・・!
因みにその時は、core2quadで8GB環境、NICは4ポートintelでした。
瞬間同時接続数(よーいどんで一気に接続する)は見てませんが、上記のテストを信じるのであれば、400台近くまではいけるはずです。
しかもセレロン(ニアリーcore2duo)8GBRAM環境でこれなので、
ベンダーさんがきちんと組めば、普通に組めるはずです。
是非このベンダーさんには、論拠をご教示頂きたいですね。
あと質問者さんが言っているファイルディスクリプタのことは
http://takeda-h.hatenablog.com/entry/2014/12/09/005533
http://d.hatena.ne.jp/rougeref/20130424
みたいな所に書いてあります。
因みに1037Uのこのsquidは、ファイルディスクリプタ弄ってません。で、常時90台程度接続のhttpアクセラレータです。
参考になれば。
0 件のコメント:
コメントを投稿