只启动 ngnix ,在 ngnix的html目录下 新建一个 1.html,内容 123456
ngnix 配置文件
worker_processes 8;
worker_rlimit_nofile 65535; # 内核一切皆文件,所以有客户端连接就会有文件使用
events {
accept_mutex on; # 网络连接序列化
multi_accept on; # 收到一个新连接通知后接受尽可能多的连接
worker_connections 65535; # 每个工作进程的最大连接数
# use epoll;
}
启动 ngnix,在ngnix的目录下 cmd 执行 start ngnix ;
Jmeter 新建取样器 http 127.0.0.1 80 GET /1.html
1、Numbers of threads 500 循环 报错 java.net.SocketException: Software caused connection abort: recv failed 办法: 修改 worker_connections 65535
2、maximum number of descriptors supported by selec()is 1024 while waiting for request
办法: 这个问题在linux上面是不会发生的,这个问题主要是在windows上面,因为nginx.conf里面的work_connections 1024 修改了没有效果。
windows版本下载地址 Index of /download/http://nginx-win.ecsds.eu/download/解压之后 里面有两个nginx.exe 和 nginx_basic.exe
用nginx_basic.exe代替了原来的nginx.exe来启动
配置文件使用:将nginx-win.conf复制一份 更名为nginx.conf 之后的配置方法和其他的版本一样的了.
Jmeter 界面模式可以及调试脚本以及测试脚本,但不能用于压测,因为界面模式只有1G内存,导致时间结束还未停止
非界面模式:jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]
-n 非界面模式;-t jmx脚本 ;
-l 生成jtl报告;(必须先不存在!!!!!)
-e 把jtl报告转化成html报告;-o 输出html报告;
举例 把测试脚本 保存到了 E:a.jmx
cmd 进入E:
jmeter -n -t aaa.jmx -l result.jtl -e -o reports
用户数,并发数(和用户数一样) 超过1000 需要分布式亚压测,单台机器性能办不到
主从机器,主需要用windows,其他随意。
主从机器,Jmeter的版本和插件和文件必须一致,从机至少要有 xxxx.jmx(测试计划文件)
找到 bin\jemeter.properties 文件,
(主机配置)
1、找到server.rmi.ssl.disable 并且修改成 = true 表示不要使用加密认证
2、找到 remote_hosts=192.168.0.10:1099,192.168.0.12:1099 配置从机IP和端口 逗号分隔
3、找到 mode = Standard 去掉注释 用于图形界面的时候能看到结果
4、# server_post = 1099
5、把测试的脚本 复制到 bin目录下,然后 把jemeter整个文件 拷贝到从机
(从机配置)
1、找到server.rmi.ssi.disable 并且修改成 = true 表示不要使用加密认证
2、server_post = 1099 设置端口
3、remote_hosts = 127.0.0.1 主机IP
4、server.rmi.localport=1099
5、关闭防火墙
6、在\bin\ jmeter-server
添加一行 RMI_HOST_DEF=-Djava.rmi.server.hostname=从机IP
启动 bin\jmeter-server
启动从机的服务 : jmeter -server -Djava.rmi.server.hostname=从机IP
在jemeter界面,在运行中 远程启动 从机的测试。
假如做1万的压测,要么增加从机,要么增加配置 (主机 是不压测的)