5

apacheの3種類のパフォーマンステストを実行する必要があります。

  1. 60秒間で500リクエスト/秒
  2. 60秒間で1000リクエスト/秒
  3. 60秒間で1500リクエスト/秒

httperfのマニュアルを読みましたが、-rate、-num-call、-num-conn、-wsessなどのさまざまなオプションと本当に混同しています。

誰かが私をフォローするのを手伝ってくれるでしょうか:

期間を指定する方法と、-rate、-num-conn、および--num-callsを構成して、テストが指定された期間、指定されたリクエスト数/秒で実行されるようにする方法は?

4

1 に答える 1

19

私はこのようなことをします:

60秒間で500リクエスト/秒

httperf --hog --server www.google.com --uri "/" --num-conn 30000 --num-call 1 \
      --timeout 5 --rate 500 --port 80

60秒間で1000リクエスト/秒

httperf --hog --server www.google.com --uri "/" --num-conn 60000 --num-call 1 \
      --timeout 5 --rate 1000 --port 80

60秒間で1500リクエスト/秒

httperf --hog --server www.google.com --uri "/" --num-conn 75000 --num-call 1 \
      --timeout 5 --rate 1500 --port 80

注1:--rate、接続/セッションが作成される固定レートを指定します。

注2:--num-conn、作成する接続の総数を指定します。したがって、X req / secを作成する場合は、時間の長さを指定するためにX *60秒を実行する必要があります。

この最後の点は、httperfで理解するのが最も難しいことでした。時間の長さは、レートと接続数の関数であり、指定しません。

だからあなたの例のために:

 500 req/sec @ 60 sec duration =  500 * 60 = 30,000 connections
1000 req/sec @ 60 sec duration = 1000 * 60 = 60,000 connections
1500 req/sec @ 60 sec duration = 1500 * 60 = 90,000 connections

httperfの詳細については、manページを参照してください。

レート

--rate=X        Specifies the fixed rate at which connections or sessions are created.
                Connections are created by default, sessions if option --wsess  or  
                --wsesslog has been specified. In both cases a rate of 0 results 
                in connections or sessions being generated sequentially (a new 
                session/connection is initiated as soon as the previous one 
                completes). The default value for this option is 0.

num-conn

--num-conn=N    This  option is meaningful for request-oriented workloads only. It
                specifies the total number of connections to create. On each
                connection, calls are issued as specified by options --num-calls 
                and --burst-length. A test stops as soon as the N connections have
                either completed or failed. A connection is considered to have
                failed if any activity on the connection fails to make forward 
                progress for more than the time specified by the timeout options 
                --timeout and --think-time‐out. The default value for this option is 1.
于 2013-03-13T13:16:54.160 に答える