当前位置: 首页 > news >正文

web服务器性能测试

web服务器性能测试

记录使用Apache-bench、http_load、httperf等工具测试web服务器的性能。

1. ab测试

# CentOS安装
$ yum -y install httpd-tools# Ubuntu安装
$ sudo apt-get install apache2-utils# 测试,-n 访问的总次数,-c 访问的并发量
$ ab -n 1000000 -c 100 http://x.x.x.x/

windosws版本:下载链接

2. http_load测试

2.1 安装

# 下载安装
$ wget http://www.acme.com/software/http_load/http_load-12mar2006.tar.gz
$ tar xzvf http_load-12mar2006.tar.gz
$ cd http_load-12mar2006/
$ sudo make && sudo make install

2.2 测试过程

  1. 创建text.txt,写入待测试的url
    http://x.x.x.x:xx/index.html

  2. 执行测试:
    http_load -parallel 10 -seconds 10 test.txt

其中-parallel后面跟的是并发数,-seconds后面跟的是执行时间,所以这段话的意思是以10个并发来访问该路径10秒钟,访问完毕后会返回一些信息。

# 测试示例
$ http_load -parallel 10 -seconds 10 text.txt
160182 fetches, 10 max parallel, 7.7416e+08 bytes, in 10.0001 seconds
4833 mean bytes/connection
16018 fetches/sec, 7.7415e+07 bytes/sec
msecs/connect: 0.135117 mean, 0.794 max, 0.023 min
msecs/first-response: 0.312969 mean, 28.634 max, 0.099 min
HTTP response codes:code 200 -- 160182

3. httperf测试

Httperf 比 ab 更强大,能测试出 web 服务能承载的最大服务量及发现潜在问题;比如:内存使用、稳定性。最大优势:可以指定规律进行压力测试,模拟真实环境。

# 镜像源安装
$ sudo apt-get install httperf # 编译安装
$ wget https://fossies.org/linux/www/old/httperf-0.9.0.tar.gz
$ tar zxvf httperf-0.9.0.tar.gz
$ cd httperf-0.9.0
$ sudo ./configure
$ sudo make && sudo make install
$ httperf --hog --server=x.x.x.x --uri=/index.html --num-conns=10000 --wsess=10,10,0.1
参数说明:
• --hog:让 httperf 尽可能多产生连接,httperf 会根据硬件配置,有规律的产生访问连接;
• --num-conns:连接数量,总发起 10000 请求;
• --wsess:用户打开网页时间规律模拟,第一个10表示产生10个会话连接,第二个10表示每个会话连接进行10次请求,0.1表示每个会话连接请求之间的间隔时间/s。# 测试执行
$ httperf --hog --server=127.0.0.1 --uri=/index.html --num-conns=1000 --wsess=10,10,0.1
httperf --hog --client=0/1 --server=127.0.0.1 --port=80 --uri=/index.html --send-buffer=4096 --recv-buffer=16384 --wsess=10,10,0.100
httperf: warning: open file limit > FD_SETSIZE; limiting max. # of open files to FD_SETSIZE
Maximum connect burst length: 1Total: connections 10 requests 100 replies 100 test-duration 9.089 sConnection rate: 1.1 conn/s (908.9 ms/conn, <=2 concurrent connections)
Connection time [ms]: min 908.9 avg 908.9 max 909.0 median 908.5 stddev 0.0
Connection time [ms]: connect 0.1
Connection length [replies/conn]: 10.000Request rate: 11.0 req/s (90.9 ms/req)
Request size [B]: 72.0Reply rate [replies/s]: min 11.0 avg 11.0 max 11.0 stddev 0.0 (1 samples)
Reply time [ms]: response 0.2 transfer 0.0
Reply size [B]: header 240.0 content 4833.0 footer 0.0 (total 5073.0)
Reply status: 1xx=0 2xx=100 3xx=0 4xx=0 5xx=0CPU time [s]: user 3.83 system 5.26 (user 42.2% system 57.8% total 100.0%)
Net I/O: 55.3 KB/s (0.5*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 0Session rate [sess/s]: min 1.00 avg 1.10 max 1.00 stddev 0.00 (10/10)
Session: avg 1.00 connections/session
Session lifetime [s]: 0.9
Session failtime [s]: 0.0
Session length histogram: 0 0 0 0 0 0 0 0 0 0 10

仓库地址:httperf

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • C语言——使用函数创建动态内存
  • 贪吃蛇双人模式设计(2)
  • ORA-01652 表空间不够解决方案
  • vue中插槽的本质
  • 数据库索引压力测试
  • vue实现stompjs+websocket和后端通信(二)
  • 阿奇科技 简单java-swing计算器源码(可用于课设等)
  • 小程序 UI 风格,赏心悦目
  • Linux安装Docker | 使用国内镜像
  • upload-labs-第五关
  • [AI Google] 使用 Gemini 取得更多成就:试用 1.5 Pro 和更多智能功能
  • 1、深度学习-安装
  • DDMA信号处理以及数据处理的流程---DDMA原理介绍
  • MySQL之查询性能优化(八)
  • Android13 Settings 左上角箭头图标点击无效
  • ES2017异步函数现已正式可用
  • javascript从右向左截取指定位数字符的3种方法
  • JS进阶 - JS 、JS-Web-API与DOM、BOM
  • leetcode46 Permutation 排列组合
  • PHP的类修饰符与访问修饰符
  • SQLServer之创建显式事务
  • vue+element后台管理系统,从后端获取路由表,并正常渲染
  • Webpack 4x 之路 ( 四 )
  • 程序员最讨厌的9句话,你可有补充?
  • 仿天猫超市收藏抛物线动画工具库
  • 精彩代码 vue.js
  • Spark2.4.0源码分析之WorldCount 默认shuffling并行度为200(九) ...
  • 继 XDL 之后,阿里妈妈开源大规模分布式图表征学习框架 Euler ...
  • #Linux(make工具和makefile文件以及makefile语法)
  • #图像处理
  • $().each和$.each的区别
  • (1)(1.13) SiK无线电高级配置(六)
  • (C++)八皇后问题
  • (JSP)EL——优化登录界面,获取对象,获取数据
  • (NSDate) 时间 (time )比较
  • (安卓)跳转应用市场APP详情页的方式
  • (第27天)Oracle 数据泵转换分区表
  • (第三期)书生大模型实战营——InternVL(冷笑话大师)部署微调实践
  • (二)fiber的基本认识
  • (附源码)springboot 校园学生兼职系统 毕业设计 742122
  • (三)Kafka 监控之 Streams 监控(Streams Monitoring)和其他
  • (十一)c52学习之旅-动态数码管
  • (四十一)大数据实战——spark的yarn模式生产环境部署
  • (五) 一起学 Unix 环境高级编程 (APUE) 之 进程环境
  • (转)nsfocus-绿盟科技笔试题目
  • (转)VC++中ondraw在什么时候调用的
  • (转)菜鸟学数据库(三)——存储过程
  • .NET WebClient 类下载部分文件会错误?可能是解压缩的锅
  • .NET 中让 Task 支持带超时的异步等待
  • .net之微信企业号开发(一) 所使用的环境与工具以及准备工作
  • .skip() 和 .only() 的使用
  • /3GB和/USERVA开关
  • /proc/interrupts 和 /proc/stat 查看中断的情况
  • @EnableAsync和@Async开始异步任务支持
  • [2013][note]通过石墨烯调谐用于开关、传感的动态可重构Fano超——