【Linux】ab命令实现网站性能压力测试

avatar
作者
筋斗云
阅读量:0

-T content-type Content-type header for POSTing, eg.

‘application/x-www-form-urlencoded’

Default is ‘text/plain’

-v verbosity How much troubleshooting info to print

###设置显示信息的详细程度 – 4或更大值会显示头信息,

####3或更大值可以显示响应代码(404, 200等), 2或更大值可以显示警告和其他信息。

-w Print out results in HTML tables

以HTML表的格式输出结果。默认时,它是白色背景的两列宽度的一张表

-i Use HEAD instead of GET

####执行HEAD请求,而不是GET。

-C attribute Add cookie, eg. 'Apache=1234. (repeatable)

-V Print version number and exit

打印版本号

[root@gaosh-1 ~]#

参数比较多,但是我们用的最多的也就是 -n -c -t -p -w ,使用频繁度从左往右依次递减

使用举例
1. 使用gaosh-64服务器对gaosh-1服务器进行压测,模拟10个用户,对百度首页发起1000次请求

[root@gaosh-64 ~]# ab -n 1000 -c 10 http://192.168.1.22/index.php

在压测时候会显示被压测服务器的版本号

在这里插入图片描述

在gaosh-1 ip; 192.168.1.22上可以查看到访问的次数

[root@gaosh-1 html]# awk ‘{print $1}’ /var/log/httpd/access_log |sort |uniq -c |sort -n -r

1000 192.168.1.64

69 192.168.1.4

可以看到192.168.1.64 访问了1000次。

其中 /var/log/httpd/access_log是 httpd的访问日志。

2. 压测www.zmkjedu.com

[root@gaosh-64 ~]# ab -n 100 -c 10 https://www.zmkjedu.com/index.php

后面除了跟ip外,还可以跟域名进行压测

压测时的信息详解

[root@gaosh-64 ~]# ab -n 1000 -c 10 http://192.168.1.22/index.php

ab相关的版本信息

This is ApacheBench, Version 2.3 <$Revision: 1430300 $>

Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/

Licensed to The Apache Software Foundation, http://www.apache.org/

并发数10,每次100个请求, 每次访问量是1000

Benchmarking 192.168.1.22 (be patient)

Completed 100 requests

Completed 200 requests

Completed 300 requests

Completed 400 requests

Completed 500 requests

Completed 600 requests

Completed 700 requests

Completed 800 requests

Completed 900 requests

Completed 1000 requests

Finished 1000 requests

被压测服务器的相关信息

Server Software: Apache/2.2.15 ### apache版本号

Server Hostname: 192.168.1.22 #### 被压测方IP

Server Port: 80 ### 被压测服务器端口

Document Path: /index.php

Document Length: 48709 bytes ### 请求文件的大小

Concurrency Level: 10 #### 并发级别,一次10

Time taken for tests: 1.186 seconds ### 本次压测消耗的时间

Complete requests: 1000 ####一共发起的总请求数

Failed requests: 0 ### 失败请求量

Write errors: 0

Total transferred: 48881000 bytes ### 总共传输的数据量

HTML transferred: 48709000 bytes 从服务器接收到的index.html文件的总大小

Requests per second: 843.21 [#/sec] (mean)

Time per request: 11.859 [ms] (mean) 每秒完成的请求数:QPS ,并发

Time per request: 1.186 [ms] (mean, across all concurrent requests)

Transfer rate: 40250.90 [Kbytes/sec] received

Connection Times (ms) ### 相应时间

min mean[+/-sd] median max

Connect: 0 1 3.4 0 45

Processing: 2 10 9.9 7 75

Waiting: 1 6 7.4 4 47

Total: 2 12 10.8 7 81

Percentage of the requests served within a certain time (ms)

50% 7

66% 9

75% 12

80% 16

90% 25

95% 35

98% 48

99% 49

100% 81 (longest request)

表示50%的请求是在7秒钟完成的,99%的请求,小于49秒。

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)

blog.csdnimg.cn/img_convert/9f49b566129f47b8a67243c1008edf79.png)

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)

img

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!