原本,其实就我我的而言如今不多去弄性能这一块的阵地了,主要在作设计与架构,不过前几天刚刚关注公众号的罗哥给我抛了关于性能方面的问题。git
一个问题立马引发了个人兴趣,过久没弄性能方面的事情了,因此在隔天有空的时候就立马动手测试了一下。github
固然这个性能是在本机测的,因此还要看本机的配置。如下是个人机子的配置。架构
你须要准备的是一个本身写的应用程序与JMeter,可能有一部分人尚未弄过Jmeter,你们能够去网上找一下,安装下载包括测试都有不少教程了。异步
应用程序这里就不说了,SpringBoot或者SSM等其余的均可以。ide
Jmeter的几个简单步骤说一下:性能
一、建立用户组测试
二、设置用户组参数线程
线程数是测试的变量,下面的两个参数,你们能够和我一致,若是本身的机子性能比较差,那就设置低一点。设计
三、HTTP取样blog
最重要的,让JMeter测试什么,你总要说清楚
四、HTTP取样参数设置
这个就改成你的应用程序参数
五、HTTP的响应断言
六、响应断言设置
作简单的,直接看返回代码是否是200
七、查看效果与报告
而后对线程组加监听器了,这个看你想看到什么结果报告,通常选聚合报告,咱们就能够看吞吐量。
开始测试啦!
测试参数我将线程组即用户数设置为三组:100、200、300
应用程序我用了两套,一套是同步,一套是Deferred的异步处理,而且都模拟生产在线,每一个请求都休眠2s后返回结果。
Github地址以下:https://github.com/UncleCatMySelf/Spring-Tutorial
接着启动项目再用JMeter去测试就好啦,相对仍是比较简单的。
线程数100的 我就不拿出来了 ,双方的吞吐量都差很少。
线程数200的,正常状况下
线程数200的,Deferred状况下
线程数300的,正常状况下
线程数300的,Deferred状况下
能够很明显的看到,在线程数(用户数)不断上升的状况下,异步的吞吐量性能更加优越。
好啦,本章就先说到着了。
感谢阅读。