http圧力測定ツールwrkはメモを使います.
インストールwrk
まずgithubからソースをダウンロードします.
wrkの基本使用
まずwrkの助けを見てください.
wrkバージョンを見ると、wrkはepollメカニズムを使用していることが分かります.
5スレッド1000個の接続テストを設定し、測定結果に応答遅れの情報を出力します.
まずgithubからソースをダウンロードします.
git clone https://github.com/wg/wrk
そしてcdはwrkディレクトリに、makeはインストールします.make
その後直接使用できます.また、実行可能なディレクトリの下でソフト接続/usr/local/bin/wrk-)/usr/local/src/wrk/wrkを作成しました.wrkの基本使用
まずwrkの助けを見てください.
wrk --help
Usage: wrk
Options:
-c, --connections Connections to keep open # TCP ,
-d, --duration Duration of test ##
-t, --threads Number of threads to use ##
-s, --script Load Lua script file ## Lua http ,
-H, --header Add header to request ## HTTP HTTP ,???
--latency Print latency statistics ## :Latency Distribution
50% 1.10ms
75% 2.23ms
90% 83.63ms
99% 482.18ms
--timeout Socket/request timeout ## ,
-v, --version Print version details
Numeric arguments may include a SI unit (1k, 1M, 1G)
Time arguments may include a time unit (2s, 2m, 2h)
数値パラメータを表し、国際単位(1 k,1 M,1 G)をサポートし、時間パラメータを表し、時間単位(2 s,2 m,2 h)をサポートします.wrkバージョンを見ると、wrkはepollメカニズムを使用していることが分かります.
wrk -v
wrk 4.1.0 [epoll] Copyright (C) 2012 Will Glozer
内野ネットワークHTTPサービスをテストします.5スレッド1000個の接続テストを設定し、測定結果に応答遅れの情報を出力します.
wrk -c1000 -t5 http://192.168.0.105:80 --latency --timeout 1s
Running 10s test @ http://192.168.0.105:80
5 threads and 1000 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 26.28ms 84.56ms 839.47ms 91.76%
( )
Req/Sec 7.52k 3.56k 30.09k 76.06%
( )
Latency Distribution
50% 1.31ms (50% 1.31ms )
75% 2.63ms (75% 2.63ms )
90% 51.78ms (90% 51.78ms )
99% 407.39ms(99% 407.39ms )
369586 requests in 10.03s, 299.23MB read (10.03s 369586 , 684.08MB )
Socket errors: connect 0, read 19, write 0, timeout 139( )
Requests/sec: 36858.65 ( )
Transfer/sec: 29.84MB ( )
wrkは簡単なコマンドラインによって簡単なGET要求を抑えられますが、PUT、POSTなどより複雑なhttpサービスを測定するために、Luaスクリプトによって圧力測定プロセスをカスタマイズすることもできます.実践してから補充します.