what?服务器CPU又炸了?

前两天突然发现博客网页登不进去,急坏了我,后来排查问题发现,在那天的中午某一时间段内有较多用户连接该网站,导致了服务器CPU猛升,直达100%了,这也就导致了网站无法访问。于是今天想着测试一下网站的服务器能承受的压力有多大。

目前网络上可提供的压测工具有很多,Apache JMeter、Httperf、OpenSTA、LoadRunner等,在衡量了一下工具的操作以及价格之后,毅然的选择了Apache组织开发的基于Java的免费压力测试工具JMeter。JMeter 是 Apache 组织的开放源代码项目,它是功能和性能测试的工具,100% 的用 Java 实现。

JMeter下载和使用

点击左侧的Download Releases后,选择右侧需要下载的压缩包版本(我这里下载的是apache-jmeter-4.0.zip),下载完成后解压即可。

启动

启动方式一

打开解压后的文件夹进入bin目录找到jmeter.bat,双击后会弹出一个命令窗口和一个JMeter窗口,这就意味着启动成功。注意:在使用JMeter过程中不能关闭命令窗户。

启动方式二

为了方便以后快速启动JMeter,可将JMeter启动放到环境变量中。具体如下:

1.右键桌面此电脑 ——> 高级系统设置 ——> 环境变量 ——> 系统变量中新建

变量名:JMETER_HOME

变量值:D:\apache-jmeter-4.0

2.添加Classpath

变量名:Classpath

变量值:%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;

3.将JMeter的bin目录加入到path中

变量名:Path

变量值:%JMETER_HOME%\bin;

4.确认保存后,打开cmd,输入Jmeter启动即可。

使用

jmeter的主要三大组成就是取样器(sampler)、线程组监听器。线程组就是我们测试使用的线程,场景设置;取样器是我们测试的内容,也就是进行脚本逻辑控制;监听器就是测试结果,监控脚本运行,取得性能指标。

线程组

接下来我们添加一个线程组进行并行测试。右键Test Plan添加一个线程组。

取样器

线程组设置好后就需要配置取样器,这里我们选择http请求。

监听器

最后我们添加监听器查看测试结果以及性能,这里我们添加查看结果树以及聚合报告。

最后点击工具栏上的启动,就能在结果树以及聚合报告中看到我们需要的信息

下面我们具体看下聚合报告中的信息

Label:每个 JMeter 的 element (例如 HTTP Request )都有一个 Name 属性,这里显示的就 是 Name 属性的值

Samples:表示你这次测试中一共发出了多少个请求,这里我们模拟有5个用户,每个用户循环访问2次,因此这里显示10

Average:平均响应时间 — 默认情况下是单个Request 的平均响应时间,当使用了事务控制时,也可以以事务为单位显示平均响应时间

Median:中位数,也就是 50 %用户的响应时间

90% Line: 90 %用户的响应时间

Min:最小响应时间

Max:最大响应时间

Error%:错误率,本次测试中出现错误的请求的数量/请求的总数

Throughput:吞吐量 —默认情况下表示每秒完成的请求数(Requestper Second)

KB/Sec:每秒从服务器端接收到的数据量

总结

这里我简单的通过一个get请求演示了一下JMeter的使用,通过JMeter也可以替代postman进行接口测试。另外既然是压力测试,当需要同时有多个用户登录这种情况,之后将会介绍如何使用JMeter读取文件参数化和通过录制脚本来来进行web项目调试。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180809G0R4ZB00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励