apache - httperf 命令选项

标签 apache httperf

我需要对apache执行3种类型的性能测试。

  1. 每秒 500 个请求,持续 60 秒
  2. 1000 个请求/秒,持续 60 秒
  3. 1500 个请求/秒,持续 60 秒

我浏览了 httperf 手册,但是,我真的对各种选项感到困惑 例如,--rate、--num-call、--num-conn、--wsess

有人可以帮我解决以下问题吗:

如何指定持续时间以及如何配置 --rate 、 --num-conn 和 --num-calls 以便测试将在指定的持续时间和指定的请求数/秒内执行?

最佳答案

我会做这样的事情:

500 个请求/秒,持续 60 秒

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

1000 个请求/秒,持续 60 秒

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

1500 个请求/秒,持续 60 秒

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

注意1: --rate 指定创建连接/ session 的固定速率。

注意2: --num-conn 指定要创建的连接总数。因此,如果您要创建 X 请求/秒,则需要执行 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 的更多详细信息,请参阅手册页。

--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.

关于apache - httperf 命令选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15060762/

相关文章:

apache - 如何通过 WSO2 ESB 中的简单代理服务调用安全代理服务

python - paste.httpserver 并使用 HTTP/1.1 Keep-alive 减速;使用 httperf 和 ab 测试

ssl - httperf: 连接失败,出现意外错误 0

ruby-on-rails - 使用 httperf 进行 Rails 负载测试

apachebench - 基准测试工具

apache - java代码中的401异常

apache - ProxyHTML 重写 URL

c - Httperf 文件描述符限制

apache - PHP RESTful 服务器的 mod_rewrite

java - Apache CXF 无法发送由 : java.net.SocketException 引起的消息:连接重置