使用jmeter进行压力测试与nginx连接数优化
|
案例训练目标 |
|
|
包含技能点 |
|
|
环境要求 |
PC支持VT,4G内存以上;vmware虚拟机安装有centos7和win7 |

案例子任务一、配置实验环境
步骤1:在centos7虚拟机启用docker容器,配置测试对象
- #docker network ls //查看宿主机上的docker网络类型种类,

- 启动容器APP1,设定地址为172.18.0.111,
docker run -d --privileged --net cluster --ip 172.18.0.111 --name APP1 php-apache /usr/sbin/init

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

docker run -d --privileged --net cluster --ip 172.18.0.11 -p 80:80 --name nginx1 nginx /usr/sbin/init
- 配置容器nginx1,设置反向代理
location / {
proxy_pass http://172.18.0.111;
}

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

步骤2:在win7虚拟机安装jdk和jmeter,配置测试环境
- 下载jdk_8.0.1310.11_64.exe到win7虚拟机
- 安装jdk_8.0,设置环境变量

设置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
- 打开命令行窗口, java -version 检查java环境,

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

案例子任务二、使用jmeter进行压力测试
步骤1:建立测试计划进行压力测试
- 编辑测试计划名称,创建并配置线程组,

- 创建配置http请求,

- 添加运行结果监听器,

- 运行测试计划,查看测试结果,

步骤2:录制测试脚本进行压力测试
- 编辑测试计划名称,创建并配置线程组,

- 添加运行结果监听器,

- 添加HTTP代理服务器并设置参数,

- 在代理服务器下添加查看结果树
- 启动代理服务器
- 在浏览器设置代理服务器,

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


- 在线程组下查看http请求,

- 启动线程组进行测试并查看结果,


案例子任务三、使用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
//平均每秒网络上的流量,可以帮助排除是否存在网络流量过大导致响应时间延长的问题



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


案例子任务四、优化nginx连接数
步骤1:修改linux打开的文件数
- 查看linux系统限制

- 修改linux打开文件数限制


步骤2:调整nginx连接数
- [root@localhost ~]# ab -c 3000 -n 10000 http://192.168.1.11/index.html




- 查看nginx连接数

- 修改nginx连接数
在主
- [root@localhost ~]# ab -c 3000 -n 10000 http://192.168.152.11/index.html,截图
ulimit -n 65535

使用jmeter进行压力测试与nginx连接数优化的更多相关文章
- 学习使用Jmeter做压力测试(一)--压力测试基本概念
学习使用Jmeter做压力测试(一)--压力测试基本概念 一.性能测试的概念 性能测试是通过自动化的测试工具模拟多种正常峰值及异常负载条件来对系统的各项性能指标进行测试.负载测试和压力测试都属于性能测 ...
- Nginx网络架构实战学习笔记(五):大访问量优化整体思路、ab压力测试及nginx性能统计模块、nginx单机1w并发优化
文章目录 大访问量优化整体思路 ab压力测试及nginx性能统计模块 ab压力测试及nginx性能统计模块 ab压力测试 nginx性能统计模块 nginx单机1w并发优化 整装待发: socket ...
- 使用JMeter做压力测试
使用JMeter做压力测试 1.下载Jmeter 地址:http://jmeter.apache.org/download_jmeter.cgi 2.启动jmeter 运行bin/jmeter.bat ...
- 【JMeter】如何用JMeter进行压力测试
[JMeter]如何用JMeter进行压力测试(调试脚本已再猪猪微信的收藏中进行了收藏哦,名字叫exam-wow.jmx) 一.用badboy录制压测过程形成脚本另存为jmeter格式文档. 二.JM ...
- 如何使用Jmeter进行压力测试
Jmeter做压力测试的操作:Jmeter不仅可以做接口测试,还可以做压力测试,下面介绍介绍如何jmeter进行简单地压力测试.具体步骤如下: 第一步:添加请求,这里不介绍具体步骤,详见(https: ...
- Jmeter服务器压力测试使用说明
Jmeter服务器压力测试使用说明 Apache JMeter是Apache组织开发的基于Java的压力测试工具. 官方地址:http://jmeter.apache.org/download_jme ...
- linux环境下使用jmeter进行压力测试
linux环境下使用jmeter进行压力测试 linux环境下使用就meter进行压力测试: linux环境部署: 在Linux服务器先安装jdk: 2.以jdk-8u172-linux-x64.ta ...
- linux上实现jmeter分布式压力测试(转)
摘要:最近根据公司工作的需求,学习了一些压力测试的知识,目前,公司使用的是jmeter进行压力测试.下面就记录下近期的学习.我想将这次的博文分成三个部分:1.开始测试前的准备(测试环境的搭建)2.在一 ...
- 性能测试工具 jmeter 分布式压力测试实操
性能测试工具 jmeter 分布式压力测试实操 本文在Non-GUI Mode下进行,准备好三台有jdk环境,linux操作系统,同一局域网测试机器,运行两台slave,一台master机器,进行分布 ...
随机推荐
- 网络编程原理与UDP实现
如何发送数据包? Q:当应用程序产生数据的时候,需要去构造数据包并发送到网络上去,但是由谁负责处理呢? A:现代操作系统负责数据包得构造与发送,应用程序只需提供数据. 当应用程序产生数据时,应用程序将 ...
- Python函数学习遇到的问题
Python函数的关键字参数 Python函数独立星号(*)分隔的命名关键字参数 Python函数中的位置参数 Python中对输入的可迭代对象元素排序的sorted函数 Python中函数的参数带星 ...
- 用Python爬取了三大相亲软件评论区,结果...
小三:怎么了小二?一副愁眉苦脸的样子. 小二:唉!这不是快过年了吗,家里又催相亲了 ... 小三:现在不是流行网恋吗,你可以试试相亲软件呀. 小二:这玩意靠谱吗? 小三:我也没用过,你自己看看软件评论 ...
- Flutter开发实战笔记
下载 https://flutter.cn/docs/get-started/install/macos#get-sdk 配置环境变量 export PATH="$PATH:[PATH_TO ...
- 【题解】「SP34013」SEUG - Seetha’s Unique Game
这道题一看就是 贪心 . 使放的石头少,就需要石头大. 那么就可以将石头重量排序,从大到小. 这道题里面看似东西很多,但是很多东西都是没有用的.比如说:箱子的长和宽,因为题目中说「每加一个石头,水的高 ...
- Codeforces Edu Round 66 A-E
A. From Hero to Zero 通过取余快速运行第一步即可.由于\(a \% b (a >= b) <= \frac{a}{2}\).所以总复杂度不超过\(O(log_2n)\) ...
- druid数据源yml配置
application.yml配置 spring: datasource: username: root password: 123456 url: jdbc:mysql://localhost:33 ...
- Windows单机安装hadoop
版本信息 Hadoop 3.2.0 java version "1.8.0_201" Windows 7专业版,64位 安装过程 jdk安装 下载jdk,解压到目录,D:\Java ...
- python 安装相关
一.安装python 1.官网下载python 1.1 可下载绿色版 2.2 也可下载安装版,安装时可自动安装pip 和 自动配置环境变量 2.手动配置环境变量,我的电脑>属性>高级> ...
- 移动端 CSS3动画属性
一.transform 转换属性 #1. translate位移 transform : translate(50px,100px); //把元素水平移动 50 像素,垂直移动 100 像素 tran ...