新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
方法/步骤 1 打开Apache服务器的安装路径,在bin目录中有一个ab.exe的可执行程序,就是我们要介绍的压力测试工具。 2 在Windows系统的命令行下,进入ab.exe程序所在目录,执行ab.exe程序。注意直接双击无法正确运行。 3 执行ab命令成功后,可以看到如图提示。该帮助很清楚详细的介绍了ab的用法以及各个参数的含义。 ab 的用法是:ab [options] [http://]hostname[:port]/path 例如:ab -n 5000 -c 200 上例表示总共访问这个脚本5000次,200并发同时执行。 ab常用参数的介绍: -n :总共的请求执行数,缺省是1; -c: 并发数,缺省是1; -t:测试所进行的总时间,秒为单位,缺省50000s -p:POST时的数据文件 -w: 以HTML表的格式输出结果 4 执行测试用例:ab -n 1000 -c 100 -w c:\1.html 上面的测试用例表示100并发的情况下,共测试访问index.php脚本1000次,并将测试结果保存到c:\1.html文件中。 5 测试报告如图,可知在该100并发访问的情况下,共测试访问1000次,失败了852次。可知该脚本在此环境无法满足100并发访问的要求。
成都创新互联为客户提供专业的成都网站建设、网站建设、程序、域名、空间一条龙服务,提供基于WEB的系统开发. 服务项目涵盖了网页设计、网站程序开发、WEB系统开发、微信二次开发、移动网站建设等网站方面业务。
本文只讲jmeter分布式压测怎么在Linux环境下配置:
使用分布式压测,是因为单个压测机并发到不到系统要求,所以多个压测机同时去压。
一般是由一个主机(master)和几台压力机(slave)组成。
主机 主要是起到启动和收集结果功能(当然也可以参与压测但不建议),测试脚本jmx在这台机器下,执行的时候会发送给每台压力机。
压力机 主要接受主机发送的压测脚本,同时进行压测,并把结果回传给主机。
以下是本人的压测环境,可以参考的去配置:
都是在Linux环境下(有些是主机Windows,压力机Linux,都是这样配置)
master主机:10.244.162.8
slave压测机(三台):10.244.162.9,10.244.162.10,10.244.162.11
主机ping一下压测机,是否可以ping通,否则关闭防火墙或者多个网卡(一台机器可能配置多个网卡多个IP,尤其是Windows当做主机)。
jdk,jmeter安装在主机和压力机下,尽量版本统一,jmeter在这几个机器服务都可以启动jmeter -v,如果权限不够到bin/目录下,命令: chmod 777 jmeter jmeter-server jmeter.sh 。(安装比较简单,这里就不多赘述)
保存。
在apache-jmeter-5.1.1/bin下执行./jmeter-server(代表jmeter启动,监听状态,等待主机发送测试脚本和执行命令) ,
有些启动命令:./jmeter-server -Djava.rmi.server.hostname=10.244.162.10(当前机器的ip),我觉得都行,没编辑配置文件那一项这样启动。
启动就设置完成。
如果是Windows当主机,重启一下jmeter在运行-远程启动既可以看到压测机。
如果是Linux下主机,需要用到命令:
我是在测试jmx脚本的目录下执行,这样方便收集信息。
sh (jmeter启动) -n -t (jmx脚本) -R (压力机ip,多个中间用英文逗号隔开) -l (test.jtl) -e -o (压测报告结果html文件夹)
sh /app/apache-jmeter-5.2.1/bin/jmeter.sh -n -t test.jmx -R 10.244.162.9,10.244.162.10 -l test.jtl -e -o test
注意:主机只传jmx给压力机,如果压测脚本有引用变量文件,比如csv,txt文件等是不传的,压力机也要有这些变量文件,复制过去存放的目录和上面压力机./jmeter-server启动的目录一致(就是你在哪个目录启动的就放在哪个目录下),否则压力机找不到变量文件,执行会报错或者直接结束无测试结果。
介绍个http_load压力测试工具,http_load,类似的工具还有webbench、ab、Siege。
1、下载
官方网站:
复制代码
代码如下:
cd /root
wget
tar xzf http_load-12mar2006.tar.gz
2、安装
复制代码
代码如下:
cd http_load-12mar2006
make
执行完make,会在当前目录生成一个http_load二进制文件。
3、使用方法
复制代码
代码如下:
root@www:~/http_load-12mar2006# ./http_load --help
usage: ./http_load [-checksum] [-throttle] [-proxy host:port] [-verbose] [-timeout secs] [-sip sip_file]
-parallel N | -rate N [-jitter]
-fetches N | -seconds N
url_file
One start specifier, either -parallel or -rate, is required.
One end specifier, either -fetches or -seconds, is required.
主要参数说明:
-parallel 简写-p :含义是并发的用户进程数。
-rate 简写-r :含义是每秒的访问频率
-fetches 简写-f :含义是总计的访问次数
-seconds简写-s :含义是总计的访问时间
选择参数时,-parallel和-rate选其中一个,-fetches和-seconds选其中一个。
示例:
http_load -parallel 50 -s 10 urls.txt
这段命令行是同时使用50个进程,随机访问urls.txt中的网址列表,总共访问10秒。
http_load -rate 50 -f 5000 urls.txt
每秒请求50次,总共请求5000次停止。
4、基本的返回值
(1).49 fetches, 2 max parallel, 289884 bytes, in 10.0148 seconds
说明在上面的测试中运行了49个请求,最大的并发进程数是2,总计传输的数据是289884bytes,运行的时间是10.0148秒
(2).5916 mean bytes/connection
说明每一连接平均传输的数据量289884/49=5916
(3).4.89274 fetches/sec, 28945.5 bytes/sec
说明每秒的响应请求为4.89274,每秒传递的数据为28945.5 bytes/sec
(4).msecs/connect: 28.8932 mean, 44.243 max, 24.488 min
说明每连接的平均响应时间是28.8932 msecs,最大的响应时间44.243 msecs,最小的响应时间24.488 msecs
(5).msecs/first-response: 63.5362 mean, 81.624 max, 57.803 min
(6).HTTP response codes: code 200 -- 49
说明打开响应页面的类型,如果403的类型过多,那可能要注意是否系统遇到了瓶颈。
特殊说明:这里,我们一般会关注到的指标是fetches/sec、msecs/connect
他们分别对应的常用性能指标参数Qpt-每秒响应用户数和response time,每连接响应用户时间。测试的结果主要也是看这两个值。当然仅有这两个指标并不能完成对性能的分析,我们还需要对服务器的cpu、men进行分析,才能得出结论
5、如果你需要测试https,你必须将 Makefile中
复制代码
代码如下:
# CONFIGURE: If you want to compile in support for https, uncomment these
# definitions. You will need to have already built OpenSSL, available at
# a href="";/a Make sure the SSL_TREE definition points to the
# tree with your OpenSSL installation - depending on how you installed it,
# it may be in /usr/local instead of /usr/local/ssl.
SSL_TREE = /usr
SSL_DEFS = -DUSE_SSL
SSL_INC = -I$(SSL_TREE)/include
SSL_LIBS = -L$(SSL_TREE)/lib -lssl -lcrypto
由于使用到openssl,你必须安装openssl和相应的开发环境
复制代码
代码如下:
apt-get install openssl
apt-get install libssl-dev/p pfind -name ssl.h
/usr/include/openssl/ssl.h