微前端架构如何改变企业的开发模式与效率提升
661
2022-09-28
容器化时代ab压测工具新用法
目标:
通过apache ab 工具进行性能简单压测,获取服务性能。
ab特点:
ab 是针对 HTTP 服务进行性能压力测试的工具,它最初被设计用来测量 Apache 服务器的性能指标,主要用来测试 Apache 服务器每秒能够处理多少请求以及响应时间,但这个命令也可以用来测试通用的 HTTP 服务性能。
运行方式:
ab -k -n 10000 -c 30 concurrency 并发数,即同时向服务器端发送的请求数目,默认:是一次只执行一个requests 执行一次测试会话的时候所发出的请求数.-k 表示 keep alive,保持连接,就是说执行多个请求在一个timelimit:设置测试的时间的长短,使用这个选项ab将自动设置测试请求会话数目为50000,然后以你设置的时间为固定周期.默认状态下是没有时限的,也就是直到完成你所设置的请求数目为止.
其它常用参数
-A auth-username:password :支持基本的验证证书,用户名和密码之间使用"冒号",分隔开,ab将以明文方式传送过去.不管服务器是不是需要,也就是说你的服务器需要支持401认证.-H custom-header:向请求包追加附加的标题字串.此参数应该是有效的标题行(headerline)形式,通常使用冒号":"来分隔有效配对 (valid pair)例如 'Accept-Encoding: zip/zop;8 bit';-p POST-file:测试程序也就是ab,将向Apache server发送带有HTTP POST 的请求.-P proxy-auth-username:password:当需要通过代理测试一台HTTP服务器的时候而你的代理又需要用户名密码验证,这时你可以使用这个选项,同样用户名与密码之间使用冒号":"分隔开,ab将之以明文的方式发送出去,当然,前提是你的代理是处于407认证状态.-T content-type:内容类型标头,使用在POST数据的时候.-v verbosity:设置冗余级别,4级打印出每个请求标头的详细信息,3级打印出回应代码(例如,404,200),2级打印出警告 信息和指示消息.-w :打印输出结果到HTML表中. 默认的表是两列n行白底黑框
压测结果的几个核心概念
吞吐率
Requests per second概念:服务器并发处理能力的量化描述,单位是reqs/s,指的是某个并发用户数下单位时间内处理的请求数。某个并发用户数下单位时间内能处理的最大请求数,称之为最大吞吐率。计算公式:总请求数 / 处理完成这些请求数所花费的时间,即Request per second = Complete requests / Time taken for tests
吞吐率结果-实例:
Requests per second: 414.19 [#/sec] (mean)//吞吐率:核心指标之一,相当于LR中的每秒事务数,后面括号中的 mean 表示这是一个平均值
用户平均请求等待时间
Time per request计算公式:处理完成所有请求数所花费的时间/ (总请求数 / 并发用户数),即Time per request = Time taken for tests /( Complete requests / Concurrency Level)
用户平均请求结果-实例:
Time per request: 241.434 [ms] (mean)//用户平均请求等待时间,核心指标之二,相当于LR中的平均事务响应时间,后面括号中的mean表示这是一个平均值.
服务器平均请求等待时间
Time per request: across all concurrent requests计算公式:处理完成所有请求数所花费的时间 / 总请求数,即Time taken for / testsComplete requests可以看到,它是吞吐率的倒数。同时,它也=用户平均请求等待时间/并发用户数,即Time per request / Concurrency Level.
服务器平均请求结果-实例:
Time per request: 2.961 [ms] (mean, across all concurrent requests)#核心指标之三,每个连接请求实际运行时间的平均值
其它重要压测结果
#测试的并发数Concurrency Level: 300#整个测试持续的时间Time taken for tests: 1.846 seconds#完成的请求数量Complete requests: 4000#失败的请求数量Failed requests: 0
压测的新方式:
容器时代到来,压测性能通常在Kubernetes集群或者Docker 环境,所以我们要调整一下新节奏,找一个docker 容器指向压测:
推荐使用docker镜像如下:
russmckendrick/ab piegsaj/abjordi/ab
纯docker环境运行方法如下:
参考信息:
http://ha97.com/4617.htmlhttps://wangchujiang.com/linux-command/c/ab.htmlhttps://jianshu.com/p/43d04d8baaf7
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~