网站压测工具Apache-ab,webbench,Apache-Jemeter

这篇具有很好参考价值的文章主要介绍了网站压测工具Apache-ab,webbench,Apache-Jemeter。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、搭建测试网站

编译LAMP网站部署:LAMP
web1配置:
yum方式搭建网站

初始化
cd /etc/yum.repos.d/
yum install -y wget
wget http://mirrors.aliyun.com/repo/Centos-7.repo
wget http://mirrors.aliyun.com/repo/epel-7.repo
mv CentOS-Base.repo CentOS-Base.repo.bak
yum clean all
yum makecache
systemctl stop firewalld
systemctl disable firewalld
sed -i 's/SELINUX=enforcing$/SELINUX=disabled/g' /etc/selinux/config
setenforce 0

yum方式搭建PHP网站用于压测
yum -y install httpd php php-mysqlnd php-gd
vi /var/www/html/index.php
<?php
phpinfo();
?>

修改系统文件配置
vi /etc/security/limits.conf   最底部添加
#修改文件打开限制
*                soft    core            unlimited
*                hard    core            unlimited
*                soft    nproc           1000000
*                hard    nproc           1000000
*                soft    nofile          1000000
*                hard    nofile          1000000
*                soft    memlock         32000
*                hard    memlock         32000
*                soft    msgqueue        8192000
*                hard    msgqueue        8192000

重启设备,让系统配置生效
ulimit -n    查看limit配置是否生效

systemctl start httpd
systemctl enable httpd
查看web1的硬件配置
#查看CPU个数
cat /proc/cpuinfo |grep "physical id"|sort|uniq|wc -l
#查看CPU总线程数
cat /proc/cpuinfo |grep "processor"|sort|uniq|wc -l
#查看内存
free -h
#查看硬盘
lsblk |egrep "^sd[a-z]"

网站压测工具Apache-ab,webbench,Apache-Jemeter
web2跟上面一样搭建网站,做系统配置

查看web2的硬件配置
#查看CPU个数
cat /proc/cpuinfo |grep "physical id"|sort|uniq|wc -l
#查看CPU总线程数
cat /proc/cpuinfo |grep "processor"|sort|uniq|wc -l
#查看内存
free -h
#查看硬盘
lsblk |egrep "^sd[a-z]"

网站压测工具Apache-ab,webbench,Apache-Jemeter

2、Apache自带工具ab

ab是Apache自带的压力测试工具。它可以对apache服务器进行网站访问压力测试,生成详细的网站测试信息,从而帮助开发者优化网站。

在压测设备上测试web1

yum install -y httpd-tools
ab -c 100 -n 2000 -k http://192.168.116.133/index.php

-c  指定并发数
-n  指定总共请求数
-k  以持久性连接测试

Server Software:        Apache/2.4.6       #httpd的版本
Server Hostname:        192.168.116.133    #主机IP
Server Port:            80                 #主机端口

Document Path:          /index.php         #网页文件名字
Document Length:        61877 bytes        #网页文件大小

Concurrency Level:      100                #并发量
Time taken for tests:   2.566 seconds      #测试总共时间
Complete requests:      2000               #请求总数量
Failed requests:        203                #失败的请求数
   (Connect: 0, Receive: 0, Length: 203, Exceptions: 0)
Write errors:           0                  #写入错误
Keep-Alive requests:    0                  #保持请求连接数
Total transferred:      124119771 bytes   #全部请求大小
HTML transferred:       123753771 bytes    #HTML请求大小

#主要看这几个数值
Requests per second:    779.47 [#/sec] (mean)  #每秒处理请求个数
Time per request:       128.293 [ms] (mean)    #每秒请求时间
#并发平均请求时间
Time per request:       1.283 [ms] (mean, across all concurrent requests)
#传输速率
Transfer rate:          47239.93 [Kbytes/sec] received

#连接时间
Connection Times (ms)
             最小值    平均值    中位数    最大值
              min  mean[+/-sd] median   max
#连接时间
Connect:        0    1   1.5      0       9
#数据处理时间
Processing:     6  124  22.5    124     625
#等待时间
Waiting:        2  123  19.5    123     187
#全部时间
Total:         15  125  21.7    125     626

Percentage of the requests served within a certain time (ms)
  50%    125
  66%    127
  75%    128
  80%    128
  90%    135
  95%    159
  98%    183
  99%    187
 100%    626 (longest request)

在压测设备上测试web2

yum install -y httpd-tools

ab -c 100 -n 2000 -k http://192.168.116.134/index.php

Server Software:        Apache/2.4.6
Server Hostname:        192.168.116.134
Server Port:            80

Document Path:          /index.php
Document Length:        61877 bytes

Concurrency Level:      100
Time taken for tests:   0.898 seconds
Complete requests:      2000
Failed requests:        198
   (Connect: 0, Receive: 0, Length: 198, Exceptions: 0)
Write errors:           0
Keep-Alive requests:    0
Total transferred:      124119797 bytes
HTML transferred:       123753797 bytes
Requests per second:    2227.90 [#/sec] (mean)
Time per request:       44.885 [ms] (mean)
Time per request:       0.449 [ms] (mean, across all concurrent requests)
Transfer rate:          135022.76 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    2   1.6      1       8
Processing:     8   42   5.3     42      56
Waiting:        3   40   5.3     40      53
Total:         16   44   4.6     43      58

Percentage of the requests served within a certain time (ms)
  50%     43
  66%     45
  75%     46
  80%     47
  90%     49
  95%     50
  98%     53
  99%     54
 100%     58 (longest request)

web1的主要数值

这个数值一般为0是最好的
Failed requests:        203                #失败的请求数
   (Connect: 0, Receive: 0, Length: 203, Exceptions: 0)

性能差的设备每秒处理请求较低
Requests per second:    779.47 [#/sec] (mean)  #每秒处理请求个数

性能差的设备时间延迟都较高
Time per request:       128.293 [ms] (mean)    #每秒请求时间
#并发平均请求时间
Time per request:       1.283 [ms] (mean, across all concurrent requests)

性能差的设备传输速率较低
#传输速率
Transfer rate:          47239.93 [Kbytes/sec] received

web2的主要数值

这个数值一般为0是最好的
Failed requests:        198
   (Connect: 0, Receive: 0, Length: 198, Exceptions: 0)

性能好的设备每秒处理请求较高
Requests per second:    2227.90 [#/sec] (mean)

性能好的设备时间延迟都较低
Time per request:       44.885 [ms] (mean)
Time per request:       0.449 [ms] (mean, across all concurrent requests)

性能好的设备传输速率较高
Transfer rate:          135022.76 [Kbytes/sec] received

3、webbench

webbench:Webbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。

GitHub代码:webbench源码
webbench官网:webbench
在压测设备编译安装webbench

yum install -y gcc ctags
wget http://home.tiscali.cz/~cz210552/distfiles/webbench-1.5.tar.gz
tar xf webbench-1.5.tar.gz
mkdir -m 644 -p /usr/local/webbench/man/man1  创建安装目录 
cd webbench-1.5
make     开始编译
#出现下面这个警告忽略即可
cc -Wall -ggdb -W -O   -c -o webbench.o webbench.c
webbench.c: 在函数‘alarm_handler’中:
webbench.c:77:31: 警告:未使用的参数‘signal’ [-Wunused-parameter]
 static void alarm_handler(int signal)
                               ^
cc -Wall -ggdb -W -O  -o webbench webbench.o  
ctags *.c

make install PREFIX=/usr/local/webbench
cp webbench /usr/bin/

命令行选项:
短参	长参数	作用
-f	--force	    不需要等待服务器响应
-r	--reload	发送重新加载请求
-t	--time	    运行多长时间,单位:秒"
-p	--proxy server:port	使用代理服务器来发送请求
-c	--clients	创建多少个客户端,默认1个"
-9	--http09	使用 HTTP/0.9
-1	--http10	使用 HTTP/1.0 协议
-2	--http11	使用 HTTP/1.1 协议
--get	        使用 GET请求方法
--head	        使用 HEAD请求方法
--options	    使用 OPTIONS请求方法
--trace	         使用 TRACE请求方法
-?/-h	--help	打印帮助信息
-V	--version	显示版本号

测试2个网站的性能

测试web1
webbench -c 1000 -t 10 http://192.168.116.133/index.php

可以看到当并发为1000时,每分钟响应请求数38040个,每秒钟传输数据量38634276字节
Speed=38040 pages/min, 38634276 bytes/sec.

总共请求数量为6340个
Requests: 6340 susceed, 0 failed.

测试web2,可以看到几个数值都比web1好很多
webbench -c 1000 -t 10 http://192.168.116.134/index.php

可以看到当并发为1000时,每分钟响应请求数84474个,每秒钟传输数据量85981248字节
Speed=84474 pages/min, 85981248 bytes/sec.

总共请求数量为14079个
Requests: 14079 susceed, 0 failed.

4、Windows下安装Apache-Jmeter

Apache JMeter 可用于测试静态和动态资源、Web 动态应用程序的性能。
它可用于模拟服务器、服务器组、网络或对象上的重负载,以测试其强度或分析不同负载类型下的整体性能。

jmeter需要java环境,所以需要安装java
下载java:Windows-java8,然后直接打开安装
网站压测工具Apache-ab,webbench,Apache-Jemeter
全部选择默认和下一步即可
网站压测工具Apache-ab,webbench,Apache-Jemeter
网站压测工具Apache-ab,webbench,Apache-Jemeter
网站压测工具Apache-ab,webbench,Apache-Jemeter
右键此电脑点击属性
网站压测工具Apache-ab,webbench,Apache-Jemeter
选择高级系统设置
网站压测工具Apache-ab,webbench,Apache-Jemeter
选择环境变量
网站压测工具Apache-ab,webbench,Apache-Jemeter
选择新建系统变量
网站压测工具Apache-ab,webbench,Apache-Jemeter
输入java的安装目录,设置为变量

变量名:JAVA_HOME
变量值:C:\Program Files\Java\jdk1.8.0_181

网站压测工具Apache-ab,webbench,Apache-Jemeter
然后再新建classpath变量

classpath
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

网站压测工具Apache-ab,webbench,Apache-Jemeter
最后在系统变量找到Path,点击编辑,修改Path变量
网站压测工具Apache-ab,webbench,Apache-Jemeter
新建多一个java路径
网站压测工具Apache-ab,webbench,Apache-Jemeter
在Path添加

%JAVA_HOME%\bin
%JAVA_HOME%\jre\bin

网站压测工具Apache-ab,webbench,Apache-Jemeter
网站压测工具Apache-ab,webbench,Apache-Jemeter
最后重启下系统,让变量生效。
重启后打开CMD,查看能否识别到java
网站压测工具Apache-ab,webbench,Apache-Jemeter
网站压测工具Apache-ab,webbench,Apache-Jemeter
安装Jmeter
下载软件包:jmeter-5.2.1
将安装包解压后放在C盘

新建系统变量
创建jmeter的路径变量

JMETER_HOME
C:\apache-jmeter-5.2.1

网站压测工具Apache-ab,webbench,Apache-Jemeter
修改classpath变量值

改为下面这样
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar

网站压测工具Apache-ab,webbench,Apache-Jemeter
双击脚本运行jmeter
C:\apache-jmeter-5.2.1\bin\jmeter.bat

更改为中文
网站压测工具Apache-ab,webbench,Apache-Jemeter
测试web1
在TestPlan右键选择添加线程组
网站压测工具Apache-ab,webbench,Apache-Jemeter
设置线程数(相当于请求数),Ramp-Up(总共请求时间),不用保存,直接下一步
网站压测工具Apache-ab,webbench,Apache-Jemeter
然后右键web1线程组
网站压测工具Apache-ab,webbench,Apache-Jemeter
输入网址信息
网站压测工具Apache-ab,webbench,Apache-Jemeter
再次右键web1线程组,添加汇总报告
网站压测工具Apache-ab,webbench,Apache-Jemeter
点击运行
网站压测工具Apache-ab,webbench,Apache-Jemeter
提示是否保存这次操作计划,直接选择no即可
网站压测工具Apache-ab,webbench,Apache-Jemeter
稍等一下,就可以看到web1网站测试结果
可以看到异常为16.76%,吞吐量为220.6/sec
一般情况下,异常值越小越好,吞吐量越大越好,可以看到web1的性能比web2差
网站压测工具Apache-ab,webbench,Apache-Jemeter
按照上面操作添加web2进行测试,查看结果
可以看到异常为19.84%,吞吐量为389.9/sec
一般情况下,异常值越小越好,吞吐量越大越好,可以看到web2的性能比web1好
网站压测工具Apache-ab,webbench,Apache-Jemeter文章来源地址https://www.toymoban.com/news/detail-417118.html

到了这里,关于网站压测工具Apache-ab,webbench,Apache-Jemeter的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • apache的ab工具测试网页优化效果速度以及服务器承载

    今天为大家介绍一款apache自带的一种的测试网页优化效果速度以及服务器承载的工具——ab.exe。 window系统安装,通过官网下载apache zip安装包,解压后放在C(or)D盘根目录 下载网址:https://www.apachehaus.com/cgi-bin/download.plx 如下图位置点击下载zip包 大家在工作中或者开发中可以使

    2024年02月11日
    浏览(66)
  • c++ http服务器之Apache工具ab压力测试(nginx与brpc)

    ab全称为:apache bench,官方注释为: Apache超文本传输协议(HTTP)的性能测试工具。其设计意图是描绘当前所安装的Apache的执行性能,主要是显示你安装的Apache每秒可以处理多少个请求。apache自带的压力测试工具。ab非常实用,它不仅可以对apache服务器进行网站访问压力测试,也

    2024年02月07日
    浏览(51)
  • Apache安装教程及使用ab命令进行压力测试

    1.官网下载https://www.apachehaus.com/cgi-bin/download.plx 2.选择要下载的版本(比如64位:Apache 2.4.46 x64) 3.解压到电脑任意盘根目录下(非根目录需注意不能有中文文件名) 4.已解压目录中在 conf文件夹找到httpd.conf文件右键使用记事本打开进行编辑 5.Ctrl+F查找Define SRVROOT修改它的值为你

    2024年02月04日
    浏览(38)
  • 开发工具-压力测试工具 ab

    在学习ab工具之前,我们需了解几个关于压力测试的概念 吞吐率(Requests per second) 概念:服务器并发处理能力的量化描述,单位是reqs/s,指的是某个并发用户数下单位时间内处理的请求数。某个并发用户数下单位时间内能处理的最大请求数,称之为最大吞吐率。 计算公式:

    2024年02月04日
    浏览(46)
  • Unity组件开发--AB包打包工具

    1.项目工程路径下创建文件夹:ABundles 2.AB包打包脚本: 3.需要打包的场景添加到打包配置: 4.unity编辑器生成菜单: 5.场景加载AB包管理器:

    2024年04月28日
    浏览(38)
  • OpenResty入门之压测篇:压测工具界的 “悍马” wrk

    在上篇文章 每个后端都应该了解的 OpenResty 入门以及网关安全实战 中,我向大家介绍了 OpenResty 的入门使用是 WAF 防御实战,这篇文章将给大家继续介绍 OpenResty 入门之性能测试 篇。 性能测试是软件开发中不可或缺的一环,它可以帮助我们评估系统的性能、稳定性、可扩展性

    2024年02月08日
    浏览(38)
  • 常用压测工具对比

    1.1 压测是什么   压测,即压力测试,是确立系统稳定性的一种测试方法,通常在系统正常运作范围之外进行,以考察其功能极限和隐患。   主要检测服务器的承受能力,包括用户承受能力(多少用户同时玩基本不影响质量)、流量承受等。 1.2 压测的意义 压测的目的就

    2024年02月13日
    浏览(39)
  • locust压测工具【学习】

    1.安装:pip3 install locust 检验版本:locust -V 2.使用脚本:

    2024年02月08日
    浏览(50)
  • Jmeter压测工具详解

    Apache JMetier是Apache组织开发的基于Java的压力测试工具。一款非常优秀的开源的性能测试工具。 适用的测试领域: 用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。它可以用于测试静态和动态资源,例如静态文件、 Java小服务程序、 CGI脚本

    2024年02月02日
    浏览(44)
  • 压测工具Jmeter学习

    Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器等等。 除了Jmeter外,其它常

    2024年02月10日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包