Loading... # Apache JMeter `Apache JMeter`是一款纯`java`编写负载功能测试和性能测试开源工具软件,用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域。它可以用于测试静态和动态资源例如静态文件、<code>Java</code>小服务程序、`CGI脚本、Java 对象`、数据库, `FTP服务器`, 等等。`JMeter` 可以用于对服务器、网络或对象模拟巨大的负载,来在不同压力类别下测试它们的强度和分析整体性能。另外,`JMeter`能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,`JMeter`允许使用正则表达式创建断言。 ## 安装环境 <div class="tip inlineBlock warning"> `apache-jmeter`运行依赖`javajdk|apache-jmeter`不需要安装,直接解压出来就可以了.`java`下载后直接安装就可以了 </div>  ## 启动程序 <div class="tip inlineBlock warning"> 管理员运行文件夹<code>bin</code>目录下的<code>jmeter.bat</code> </div>  ## 实战演示 **1**.打开程序后,新增一个测试计划,你可以按步骤一步一步设置自己的测试计划,也可以直接下载这个脚本直接打开就可以,记得把内容改了就行,不要一直测我的主页 <img src="https://www.itggg.cn/usr/themes/handsome/assets/img/emotion/aru/angry.png" class="emotion-aru">  **2**.新建立线程,模拟多用户访问,步骤如下  **3**.线程属性设置,字段解释<code>Number of Threads (users):</code>表示模拟多少用户访问,<code>Ramp-up period(seconds):</code>表示访问时间间隔,以秒计算。<code>Loop Count:</code>表示循环次数,如果勾选了<code>Infinite </code>就表示一直循环不停止,以次数计算。我图中的设置意思表示,模拟<code>50</code>个用户同时访问网站,时间不间隔,循环一次。  **4**.点击创建的线程组,在弹出的菜单中,选择添加<code>->Sampler->Http</code>请求,然后填入你的网站地址,<code>端口80</code>,地址不要加<code>http</code>   **5**.添加监视器,如果只是测试你的主页,那么设置就已经完成了,但是很多时候都要测试多个链接,这时间要添加一个<code>函数</code>,将多个链接保存到一个<code>txt</code>文本中,然后随机读取进行压力测试。这个设置有点麻烦,可以自己研究下,也可以评论问我,这里就不再赘述了。  **6**.点击开始等待下就可以查看测试结果了,为了验证,我把网站的日志也打开了,可以看到我的网站<code>50</code>个用户同时访问是没啥问题的,就是响应时间有点长了......     **7**.汇总数据各属性如下: - <code>Sample</code>每个请求的序号 - <code>Start Time</code>每个请求开始时间 - <code>Thread Name</code>每个线程的名称 - <code>Label</code>Http请求名称 - <code>Sample Time</code>每个请求所花时间,单位毫秒 - <code>Status</code>请求状态,如果为勾则表示成功,如果为叉表示失败。 - <code>Bytes</code>请求的字节数 - <code>样本数目</code>也就是上面所说的请求个数,成功的情况下等于你设定的并发数目乘以循环次数 - <code>平均</code>每个线程请求的平均时间 - <code>最新样本</code>表示服务器响应最后一个请求的时间 - <code>偏离</code>服务器响应时间变化、离散程度测量值的大小 **8**.试下<code>100</code>个用户,每隔<code>1秒</code>访问一次,直接修改线程组的数量就可以了。  **9**.通过结果可以看到,已经凉了,网站承载不了,延迟时间也很长了   **10**.把<code>redis</code>开了再试试。  **11**.开启<code>redis</code>后,完全没问题,延迟也低了。  **12**.并发<code>300</code>试试,不间隔,同时访问  **13**.牛皮,<code>redis</code>还是能顶住,但是中间还是有报错的,应该是<code>redis</code>缓存的错误命中导致的,不过问题不大。   ## 测试结论 本篇文章就只是用了最简单最基础的方式来做并发测试<code>Apache JMeter</code>的用法还非常的多,包括性能测试,最大并发,接口测试等等,有兴趣的同学可以自己研究下。个人网站启用<code>redis</code>后确实能非常大程度提高访问性能,但是有个问题还没解决,就先不用了,具体问题在我的<code>关于</code>里有写到,至今未解决。但是我的网站也不可能会有这么多人同时访问的,所以用不用<code>redis</code>也没关系了,影响不大。最后说一句,不必一味的追去网站性能,原创自己的技术分享文章才是做个人博客的初心。 Last modification:December 22nd, 2020 at 09:17 pm © 允许规范转载 Support 如果你想请我喝奶茶的话 ×Close Appreciate the author Sweeping payments Pay by AliPay Pay by WeChat
测试(´இ皿இ`)
你这用了缓存插件,保存访客信息的问题怎么还不好使
老哥,按你的方法试了,确实是可以了,但是只是评论这块没有保存信息,但是我发现cookie还是存在的,没有刷新。
目前正在想办法从cookie入手
不能够吧cookies 是客户浏览器保存的,和你服务器啥关系啊,我那个插入的js你找合适位置插入了么?那个会判断的啊
(´இ皿இ`)(´இ皿இ`) 接口测试有脚本吗?