使用jmeter进行压力测试与nginx连接数优化

案例训练目标

  1. 学会使用jmeter工具
  2. 学会配置nginx连接数优化

包含技能点

  1. 使用jmeter做压力测试
  2. 配置nginx的 并发连接数

环境要求

PC支持VT,4G内存以上;vmware虚拟机安装有centos7和win7

使用jmeter进行压力测试与nginx连接数优化_第1张图片

 

案例子任务一、配置实验环境

步骤1:在centos7虚拟机启用docker容器,配置测试对象

  1. #docker network ls //查看宿主机上的docker网络类型种类,

使用jmeter进行压力测试与nginx连接数优化_第2张图片

  1. 启动容器APP1,设定地址为172.18.0.111,

docker run -d --privileged --net cluster --ip 172.18.0.111 --name APP1 php-apache /usr/sbin/init

使用jmeter进行压力测试与nginx连接数优化_第3张图片

  1. 配置容器APP1,编辑phpinfo.php文件;
  2. 启动容器nginx1,设定地址为172.18.0.11,

使用jmeter进行压力测试与nginx连接数优化_第4张图片

docker run -d --privileged --net cluster --ip 172.18.0.11 -p 80:80 --name nginx1 nginx /usr/sbin/init

  1. 配置容器nginx1,设置反向代理

location / {

proxy_pass http://172.18.0.111;

}

使用jmeter进行压力测试与nginx连接数优化_第5张图片

  1. 在主机浏览器访问centos7地址,能够访问到APP1的phpinfo页面,

使用jmeter进行压力测试与nginx连接数优化_第6张图片

步骤2:在win7虚拟机安装jdk和jmeter,配置测试环境

  1. 下载jdk_8.0.1310.11_64.exe到win7虚拟机
  2. 安装jdk_8.0,设置环境变量

使用jmeter进行压力测试与nginx连接数优化_第7张图片

设置3项属性JAVA_HOME,PATH,CLASSPATH(大小写无所谓),若已存在则点击"编辑",不存在则点击"新建"JAVA_HOME指明JDK安装路径,Path项下添加:;%JAVA_HOME%\bin; %JAVA_HOME%\jre\bin,注意用分号隔开,在CLASSPATH添加:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

  1. 打开命令行窗口, java -version 检查java环境

使用jmeter进行压力测试与nginx连接数优化_第8张图片

  1. 下载解压运行jmeter,选择语言为简体中文

使用jmeter进行压力测试与nginx连接数优化_第9张图片

案例子任务二、使用jmeter进行压力测试

步骤1:建立测试计划进行压力测试

  1. 编辑测试计划名称,创建并配置线程组

使用jmeter进行压力测试与nginx连接数优化_第10张图片

  1. 创建配置http请求

使用jmeter进行压力测试与nginx连接数优化_第11张图片

  1. 添加运行结果监听器

使用jmeter进行压力测试与nginx连接数优化_第12张图片

  1. 运行测试计划,查看测试结果

使用jmeter进行压力测试与nginx连接数优化_第13张图片

步骤2:录制测试脚本进行压力测试

  1. 编辑测试计划名称,创建并配置线程组

使用jmeter进行压力测试与nginx连接数优化_第14张图片

  1. 添加运行结果监听器

使用jmeter进行压力测试与nginx连接数优化_第15张图片

  1. 添加HTTP代理服务器并设置参数

使用jmeter进行压力测试与nginx连接数优化_第16张图片

  1. 在代理服务器下添加查看结果树
  2. 启动代理服务器
  3. 在浏览器设置代理服务器

使用jmeter进行压力测试与nginx连接数优化_第17张图片

  1. 使用浏览器访问目标网站
  2. 在代理服务器下查看结果树

使用jmeter进行压力测试与nginx连接数优化_第18张图片

使用jmeter进行压力测试与nginx连接数优化_第19张图片

  1. 在线程组下查看http请求

使用jmeter进行压力测试与nginx连接数优化_第20张图片

  1. 启动线程组进行测试并查看结果

使用jmeter进行压力测试与nginx连接数优化_第21张图片

使用jmeter进行压力测试与nginx连接数优化_第22张图片

案例子任务三、使用ab进行压力测试

[root@localhost ~]#ab -c 1000 -n 10000 http://192.168.152.11/index.html

Document Path:          /index.html.zh-cn.gb2312

//测试的页面文档

Document Length:        1018 bytes

//文档大小

Concurrency Level:      1000

//并发数
Time taken for tests:   8.188731 seconds
//
整个测试持续的时间
Complete requests:      1000
//
完成的请求数量
Failed requests:        0
//
失败的请求数量
Write errors:           0
Total transferred:      1361581 bytes
//
整个场景中的网络传输量
HTML transferred:       1055666 bytes
//
整个场景中的HTML内容传输量
Requests per second:    122.12 [#/sec] (mean)
//
大家最关心的指标之一,相当于 LR 中的 每秒事务数 ,后面括号中的 mean 表示这是一个平均值
Time per request:       8188.731 [ms] (mean)
//
大家最关心的指标之二,相当于 LR 中的 平均事务响应时间 ,后面括号中的 mean 表示这是一个平均值
Time per request:       8.189 [ms] (mean, across all concurrent requests)
//
每个请求实际运行时间的平均值
Transfer rate:          162.30 [Kbytes/sec] received
//
平均每秒网络上的流量,可以帮助排除是否存在网络流量过大导致响应时间延长的问题

使用jmeter进行压力测试与nginx连接数优化_第23张图片

使用jmeter进行压力测试与nginx连接数优化_第24张图片

使用jmeter进行压力测试与nginx连接数优化_第25张图片

  1. [root@localhost ~]# ab -c 2000 -n 10000 http://192.168.152.11/index.html

    使用jmeter进行压力测试与nginx连接数优化_第26张图片

使用jmeter进行压力测试与nginx连接数优化_第27张图片

案例子任务四、优化nginx连接数

步骤1:修改linux打开的文件数

  1. 查看linux系统限制

使用jmeter进行压力测试与nginx连接数优化_第28张图片

  1. 修改linux打开文件数限制

使用jmeter进行压力测试与nginx连接数优化_第29张图片

使用jmeter进行压力测试与nginx连接数优化_第30张图片

步骤2:调整nginx连接数

  1. [root@localhost ~]# ab -c 3000 -n 10000 http://192.168.1.11/index.html

使用jmeter进行压力测试与nginx连接数优化_第31张图片

 

 

 

使用jmeter进行压力测试与nginx连接数优化_第32张图片

  1. 查看nginx连接数

使用jmeter进行压力测试与nginx连接数优化_第33张图片

 

  1. 修改nginx连接数

使用jmeter进行压力测试与nginx连接数优化_第34张图片在主

  1. [root@localhost ~]# ab -c 3000 -n 10000 http://192.168.152.11/index.html,截图

ulimit -n 65535

使用jmeter进行压力测试与nginx连接数优化_第35张图片

 

 

你可能感兴趣的:(使用jmeter进行压力测试与nginx连接数优化)