06
- 3月
2018
No Comments
負荷テストを実施する
Advertisements
狸の皮算用
アクセスいっぱいだったらどうしよう。
ってことで、nginxのチューニングを行って、負荷テストを行い、意図通りの接続数になっているかどうかなどを確認。
負荷掛けのツールを準備
ApacheBenchを使うことにする。
もちろん、測定対象のサーバの外から実施しないと意味がない。
そこで、自宅のWindows10 subsystem for linux
にサクッと導入する。
apt-get install apache2-utils
さっそく実行する
user@host:~$ ab -n 1000 -c 100 https://target.host.com
This is ApacheBench, Version 2.3 <$Revision: 1706008 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking target.host.com (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests
Server Software: nginx
Server Hostname: target.host.com
Server Port: 443
SSL/TLS Protocol: TLSv1.2,ECDHE-RSA-AES128-GCM-SHA256,2048,128
Document Path: /img
Document Length: 178 bytes
Concurrency Level: 100
Time taken for tests: 3.722 seconds
Complete requests: 1000
Failed requests: 990
(Connect: 0, Receive: 0, Length: 990, Exceptions: 0)
Non-2xx responses: 1000
Total transferred: 451740 bytes
HTML transferred: 207884 bytes
Requests per second: 268.65 [#/sec] (mean)
Time per request: 372.233 [ms] (mean)
Time per request: 3.722 [ms] (mean, across all concurrent requests)
Transfer rate: 118.52 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 127 324 39.8 323 502
Processing: 23 30 12.3 27 224
Waiting: 22 29 12.3 27 223
Total: 219 354 34.5 351 547
Percentage of the requests served within a certain time (ms)
50% 351
66% 357
75% 362
80% 366
90% 379
95% 394
98% 468
99% 498
100% 547 (longest request)
うん、同一IPからの同時アクセス数と、サーバへの秒間あたりの総接続数の上限を設定したので、
全ての接続が有効にならず、失敗しているものがかなり出てきている。
うんこれでよい。
Advertisements