案例训练目标

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

包含技能点

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

环境要求

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


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

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

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

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

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

  1. 配置容器APP1,编辑phpinfo.php文件;
  2. 启动容器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

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

location / {

proxy_pass http://172.18.0.111;

}

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


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

  1. 下载jdk_8.0.1310.11_64.exe到win7虚拟机
  2. 安装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

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

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

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

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

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

  1. 创建配置http请求,

  1. 添加运行结果监听器,

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

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

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

  1. 添加运行结果监听器,

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

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

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

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

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

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

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

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

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

  1. 查看linux系统限制

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

步骤2:调整nginx连接数

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

  1. 查看nginx连接数

  1. 修改nginx连接数

在主

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

ulimit -n 65535

使用jmeter进行压力测试与nginx连接数优化的更多相关文章

  1. 学习使用Jmeter做压力测试(一)--压力测试基本概念

    学习使用Jmeter做压力测试(一)--压力测试基本概念 一.性能测试的概念 性能测试是通过自动化的测试工具模拟多种正常峰值及异常负载条件来对系统的各项性能指标进行测试.负载测试和压力测试都属于性能测 ...

  2. Nginx网络架构实战学习笔记(五):大访问量优化整体思路、ab压力测试及nginx性能统计模块、nginx单机1w并发优化

    文章目录 大访问量优化整体思路 ab压力测试及nginx性能统计模块 ab压力测试及nginx性能统计模块 ab压力测试 nginx性能统计模块 nginx单机1w并发优化 整装待发: socket ...

  3. 使用JMeter做压力测试

    使用JMeter做压力测试 1.下载Jmeter 地址:http://jmeter.apache.org/download_jmeter.cgi 2.启动jmeter 运行bin/jmeter.bat ...

  4. 【JMeter】如何用JMeter进行压力测试

    [JMeter]如何用JMeter进行压力测试(调试脚本已再猪猪微信的收藏中进行了收藏哦,名字叫exam-wow.jmx) 一.用badboy录制压测过程形成脚本另存为jmeter格式文档. 二.JM ...

  5. 如何使用Jmeter进行压力测试

    Jmeter做压力测试的操作:Jmeter不仅可以做接口测试,还可以做压力测试,下面介绍介绍如何jmeter进行简单地压力测试.具体步骤如下: 第一步:添加请求,这里不介绍具体步骤,详见(https: ...

  6. Jmeter服务器压力测试使用说明

    Jmeter服务器压力测试使用说明 Apache JMeter是Apache组织开发的基于Java的压力测试工具. 官方地址:http://jmeter.apache.org/download_jme ...

  7. linux环境下使用jmeter进行压力测试

    linux环境下使用jmeter进行压力测试 linux环境下使用就meter进行压力测试: linux环境部署: 在Linux服务器先安装jdk: 2.以jdk-8u172-linux-x64.ta ...

  8. linux上实现jmeter分布式压力测试(转)

    摘要:最近根据公司工作的需求,学习了一些压力测试的知识,目前,公司使用的是jmeter进行压力测试.下面就记录下近期的学习.我想将这次的博文分成三个部分:1.开始测试前的准备(测试环境的搭建)2.在一 ...

  9. 性能测试工具 jmeter 分布式压力测试实操

    性能测试工具 jmeter 分布式压力测试实操 本文在Non-GUI Mode下进行,准备好三台有jdk环境,linux操作系统,同一局域网测试机器,运行两台slave,一台master机器,进行分布 ...

随机推荐

  1. Zabbix监控使用进阶

    1. Zabbix基于SNMP监控 1.1 zabbix-web所能指定的监控方式 ssh/telnet agent:master/agent SNMP:Simple Network Manageme ...

  2. 第7.5节 揭开Python类中self的面纱

    在上节已经引入介绍了类定义,并简单介绍了类变量.实例变量.类方法和实例方法,后面章节还会进一步详细介绍相关的内容.本节要介绍的self是与类变量.实例变量.类方法和实例方法具体定义实现强相关的. 一. ...

  3. Python特殊序列\d能匹配哪些数字?

    在缺省语言环境下,老猿对\d的匹配范围做了个测试,下面的数字包含半角数字.全角数字.中文数字,测试语句如下: >>> m=re.search(r'(\d*)(\D*)(\d*)',' ...

  4. PyQt(Python+Qt)学习随笔:QTableView的cornerButtonEnabled属性

    老猿Python博文目录 老猿Python博客地址 cornerButtonEnabled属性用于控制是否启用左上角的按钮.如果此属性为True,则启用视图左上角的按钮,单击此按钮将选择表视图中的所有 ...

  5. Jemter环境搭建

    Jemter环境搭建 步骤一:安装Jmeter 1.下载Jmeter,官网地址:http://jmeter.apache.org/download_jmeter.cgi 2.解压Jmeter安装包,J ...

  6. 使用Fiddle修改请求数据

    修改请求数据 以淘宝网为例 命令行中输入bpu 及要拦截的请求地址,如bpu https://s.taobao.com/search 在搜索栏中输入"面包机" 可以看到拦截到的请求 ...

  7. 密码学系列之:明文攻击和Bletchley Park

    目录 简介 crib和明文攻击 布莱奇利公园(Bletchley Park) 简介 明文攻击就是指已经知道了部分明文和它对应的加密后的字段,从而可以推测出使用的加密手段或者密码本.明文攻击这个故事还要 ...

  8. P4317 花神的数论题,关于luogu题解粉兔做法的理解

    link 题意 设 \(\text{sum}(i)\) 表示 \(i\) 的二进制表示中 \(1\) 的个数.给出一个正整数 \(N\) ,求 \(\prod_{i=1}^{N}\text{sum}( ...

  9. linux下安装Zookeeper 3.4.14

    1.下载Zookeeper 3.4.14(https://zookeeper.apache.org/) wget https://mirror.bit.edu.cn/apache/zookeeper/ ...

  10. 二、TestNG的Hello World

    创建第一个TestNG的例子 1.创建一个TestNG的类 选择项目路径"右键"--NEW--Other 选择TestNG cLass(如果没有这个选项是testng没有配置成功) ...