httperf是由HP开发的Web服务器性能测试工具,可以提供各种HTTP数据以分析服务器性能,仅能运行在Linux操作系统

简单的调用

httperf --server localhost --port 80 --num-conns 100 --rate 10 --timeout 1

httperf参数说明

--server: 服务器主机名可以

--uri:指定URI

--rate: 请求速率

--num-conn: 请求总数

--num-call: 每个连接发送多少个请求

--timeout: 超时

--help

输出信息说明

Total: connections 100 requests 100 replies 100 test-duration 9.905 s

Connection rate: 10.1 conn/s (99.1 ms/conn, <=1 concurrent connections)

Connection time [ms]: min 4.6 avg 5.6 max 19.9 median 4.5 stddev 2.0

Connection time [ms]: connect 1.4

Connection length [replies/conn]: 1.000

Request rate: 10.1 req/s (99.1 ms/req)

Request size [B]: 57.0

Reply rate [replies/s]: min 10.0 avg 10.0 max 10.0 stddev 0.0 (1 samples)

Reply time [ms]: response 4.1 transfer 0.0

Reply size [B]: header 219.0 content 204.0 footer 0.0 (total 423.0)

Reply status: 1xx=0 2xx=100 3xx=0 4xx=0 5xx=0

CPU time [s]: user 2.71 system 7.08 (user 27.4% system 71.5% total 98.8%)

Net I/O: 4.7 KB/s (0.0*10^6 bps)

Errors: total 0 client-timo 0 socket-timo 0 connrefused 0 connreset 0

Errors: fd-unavail 0 addrunavail 0 ftab-full 0 other 0

"Total" Results

Total这行输出的是总结信息,比如由客户端初始化多少连接,发送请求数,请求得到回复数,测试花费的时间

Total: connections 100 requests 100 replies 100 test-duration 9.905 s

"Connection" Results

这个结果展示的TCP和服务器通信相关信息

在下面的行中显示的是新连接被初始化的速率是10.1个连接每秒,即初始化一个连接时间是99.1ms,最后一个数值显示的连接到服务器的时间

下一行输出的是连接成功的生命周期统计,一个是完整的生命周期就是连接的初始化到连接的关闭,即连接请求到服务器并且得到回复,在这行中连接最少(min)的生命周期是5.6ms,最大(Max)是19.9ms,平均是5.6毫秒,中位数4.5ms,偏差值为2.0ms

Connection time [ms]: min 4.6 avg 5.6 max 19.9 median 4.5 stddev 2.0

中位数,每组数中如果是奇数则取中间值,偶数则取两个中间值/2

接下来的一行是统计建立TCP连接到服务器所花费时间(包括失败的连接),在下面的示例中建立TCP连接的平均时间为1.4ms

Connection time [ms]: connect 1.4

在连接组的最后的一行,给出的是每个连接收到的响应数,通常HTTP/1.0中这个值最大为1(没有错误的情况下),但是在 Keep-Alives 或者 HTTP/1.1,这个值可以更高,因为一个连接可以接收多个响应

Connection length [replies/conn]: 1.000

"Request" Results

在Request组的第一行给出的HTTP请求的速率,比如下面的是每秒10.1个请求被发出,即99.1ms每个请求

Request rate: 10.1 req/s (99.1 ms/req)

只要没有使用持续连接(Keep-Alives)的情况下,Request的结果集将会和Connection结果集非常相似,然而,当使用持续连接的时候,多个请求可以由单个连接被发出,两个结果集将会不同

下一行给出的是平均请求的大小

Request size [B]: 57.0

"Reply" Results

对于简单的测试,Reply的结果集可能是最感兴趣的部分,第一行展示的是响应速率

Reply rate [replies/s]: min 10.0 avg 10.0 max 10.0 stddev 0.0 (1 samples)

这行收集了几个维度的数据,分别是平均值,最小值,最大值,标准差,httperf每5秒收集一次这些数据,为得到更正确的值建议加长测试时间,建议150秒或者更大

下一行展示的服务器从请求中接收到第一个字节开始,到连接收到第一个字节所消耗的时间,transfer传输的大小(由于传输量太少所以显示为0)

Reply time [ms]: response 4.1 transfer 0.0

下一步是统计每个回复的大小,每个维度的单位都是字节(bytes),且都是平均数,total是前面的总和

Reply size [B]: header 219.0 content 204.0 footer 0.0 (total 423.0)

在一次测试返回状态码(status code)的计数,比如100,200

Reply status: 1xx=0 2xx=100 3xx=0 4xx=0 5xx=0

Miscellaneous Results

在下面一行是对客户端CPU使用率的统计,User用户模式,System模式

CPU time [s]: user 2.71 system 7.08 (user 27.4% system 71.5% total 98.8%)

注意:CPU使用率总是小于100%,这是因为系统还有其它的进程在运行,为了测试准确性,建议在测试时不要运行一些CPU密集型的计算

下一行给出的是网络的吞吐量

Net I/O: 4.7 KB/s (0.0*10^6 bps)

"Errors"

Errors: total 0 client-timo 0 socket-timo 0 connrefused 0 connreset 0

Errors: fd-unavail 0 addrunavail 0 ftab-full 0 other 0

The meaning of each error is described below:

total发生错误的总数

client-timo客户端超时计数,每次从生成请求开始,如果没有响应即超时

socket-timo TCP连接失败,socket级别的超时

connrefused连接被服务器拒绝的次数

connresetTCP连接失败被重置的次数

fd-unavail 当这个数值大于意味这客户端已经超载

addrunavail 端口号错误,可以忽略

Thank HP

如何测试nginx服务器性能测试,Nginx性能测试工具--httperf相关推荐

  1. Nginx服务器、Nginx虚拟主机、Nginx反向代理

    nginx安装[依赖包,./configure模块] nginx升级[make upgrade] nginx[默认welcome测试网站] nginx[用户认证] nginx [server{ }虚拟 ...

  2. ubuntu搭建nginx服务器,并测试axel与wget的下载速度

    1.搭建nginx服务器 安装nginx sudo apt install nginx 创建conf文件 sudo gedit /etc/nginx/conf.d/file_server.conf 修 ...

  3. 搭建nginx服务器及文件的配置

    一.搭建nginx服务器及平滑升级 1.搭建基本的nginx服务器 准备nginx-0.8和nginx-1.0两个源码包 [root@localhost nginx-package]# tar -zx ...

  4. node项目部署以及搭建nginx服务器

    因为阿里云的服务器就要到期,所以就需要重新购买服务器,考虑到服务器续费有点贵而又赶上腾讯云在搞周年庆的活动,所以这次就购买了腾讯云的服务器,也因为更换了服务器,所以就得重新部署博客项目 更多文章请访问 ...

  5. Nginx服务器搭建

    1. 系统拓扑图 说明: 用户请求达到Nginx 若请求资源为静态资源,则将请求转发至静态资源服务器 若请求资源为动态数据,则将请求转发给web服务器(在这里为tomcat处理),在转发的同时,会根据 ...

  6. 商城项目笔记一:搭建Maven工程,利用Dubbo实现SOA面向服务框架,部署zookeeper注册中心,FastDFS框架实现图片上传,部署nginx服务器。

    文章目录 1. 商城项目总结笔记: 1.1. 第一天工作记录:搭建Maven工程 1.2. 第二天工作记录:创建SOA面向服务架构,通过工具类实现分页技术 1.3. 第三天工作记录:部署nginx服务 ...

  7. nginx服务器网站文件存放处,Nginx服务器安装部署

    获取新版本的Nginx服务器 Nginx的官方下载网站为http://nginx.org/en/download.html .进入网站可以看到三种版本,开发版本(Development version ...

  8. 手把手教你安装配置Nginx服务器【WindowsLinux】

    hello,你好呀,我是灰小猿,一个超会写bug的程序猿! 在日常开发中,对于需要部署到服务器上的项目,一般都需要在Linux服务器上进行,同时需要用到Nginx服务器, 所以这篇文章我就来记录一下在 ...

  9. centos6.4下配置nginx服务器更改根目录

    安装完nginx服务器后发现nginx的根目录在/usr/share/nginx/html/下,但是对于部署文件来说,在该目录下是不太习惯的,我就尝试着更改nginx访问的根目录 #  vi /etc ...

  10. Nginx服务器常用的几个操作命令

    Nginx服务器常用的几个操作命令 启动nginx服务器:start nginx 关闭nginx服务器:nginx -s stop 或 nginx -s quit 重启nginx服务器:nginx - ...

最新文章

  1. php开发面试题---攻击网站的常用手段有哪些,及如何预防(整理)
  2. C#高性能大容量SOCKET并发(十):SocketAsyncEventArgs线程模型
  3. 检查字符串是否为有效URL的最佳正则表达式是什么?
  4. 工作单元php,PHP面向对象中的工作单元是什么
  5. 三、Python-列表
  6. 高频面试题1:自增边量
  7. 云上安全工作乱如麻,等保2.0来一下
  8. c post请求网页_Python使用urllib2抓取网页
  9. 买它!华为Mate30系列国行版发布:3999元起,5G版再加1000元
  10. Centos开放查看端口 防火墙关闭打开
  11. Java Keytool 命令行工具
  12. animate.css –齐全的CSS3动画库--- 学习笔记
  13. java获取inputstream_Java:我怎样才能从inputStream获取编码?
  14. 模拟登录,发送amf类型数据
  15. mysql批量执行sql文件
  16. 计算机软件cae,各种CAE软件介绍
  17. 云原生 - 自建数据库 VS 云数据库,到底怎么选?
  18. C语言设计一个投票程序,c语言程序设计投票程序
  19. android实战:密码箱一
  20. c盘users在哪(c盘users在哪)

热门文章

  1. Article:AI领域2021年度总结与2022年度展望:多模态人工智能起飞、万亿参数模型的爆发、生成模型在音乐电影制作上的进展、Transformer架构正在以一己之力统一AI江湖、AI法律监管
  2. js对数组的删除操作
  3. 【已解决】vue安装项目的时候出现了 command failed: pnpm install --reporter silent --shamefully-hoist 很有趣的解密过程
  4. 齐振宏教授 变革领导力导师
  5. 纸小墨ink简洁主题story爱上你的故事
  6. 服务器中imm的作用,联想X系列服务器IMM2(集成管理模块)基本操作
  7. 如何在没有电缆的情况下流塞恩费尔德
  8. NAO机器人高尔夫中的视觉系统设计
  9. 无敌哈拉少(奋起反抗的人)
  10. 搜索引擎使用小技巧(通配符)