本来,其实就我个人而言现在很少去弄性能这一块的阵地了,主要在做设计与架构,不过前几天刚刚关注公众号的罗哥给我抛了关于性能方面的问题。

一个问题立马引起了我的兴趣,太久没弄性能方面的事情了,所以在隔天有空的时候就立马动手测试了一下。

当然这个性能是在本机测的,所以还要看本机的配置。以下是我的机子的配置。

你需要准备的是一个自己写的应用程序与JMeter,可能有一部分人还没有弄过Jmeter,大家可以去网上找一下,安装下载包括测试都有很多教程了。

应用程序这里就不说了,SpringBoot或者SSM等其他的都可以。

Jmeter的几个简单步骤说一下:

1、创建用户组

2、设置用户组参数

线程数是测试的变量,下面的两个参数,大家可以和我一致,如果自己的机子性能比较差,那就设置低一点。

3、HTTP取样

最重要的,让JMeter测试什么,你总要说清楚

4、HTTP取样参数设置

这个就改为你的应用程序参数

5、HTTP的响应断言

6、响应断言设置

做简单的,直接看返回代码是不是200

7、查看效果与报告

然后对线程组加监听器了,这个看你想看到什么结果报告,一般选聚合报告,我们就可以看吞吐量。

开始测试啦!

测试参数我将线程组即用户数设置为三组:100、200、300

应用程序我用了两套,一套是同步,一套是Deferred的异步处理,并且都模拟生产在线,每个请求都休眠2s后返回结果。

Github地址如下:https://github.com/UncleCatMySelf/Spring-Tutorial

接着启动项目再用JMeter去测试就好啦,相对还是比较简单的。

线程数100的 我就不拿出来了 ,双方的吞吐量都差不多。

线程数200的,正常情况下

线程数200的,Deferred情况下

线程数300的,正常情况下

线程数300的,Deferred情况下

可以很明显的看到,在线程数(用户数)不断上升的情况下,异步的吞吐量性能更加优越。

好啦,本章就先说到着了。

感谢阅读。


测试一波SpringBoot的HTTP吞吐量的更多相关文章

  1. 测试开发专题:spring-boot自定义异常返回

    上文测试开发专题:spring-boot统一异常捕获我们讨论了java异常以及如何使用Spring-Boot捕获异常,但是没有去说捕获异常后该如何进一步处理,这篇文章我们将对这个遗留的问题进行讨论. ...

  2. 【SpingBoot】 测试如何使用SpringBoot搭建一个简单后台1

    很久没写博客了,最近接到一个组内的测试开发任务是做一个使用SpringBoot 开发一个后台程序(还未完成),特写感想记录一下 1. 为什么选择SpringBoot ? 首先是目前很多公司的后台还是J ...

  3. 测试开发专题:spring-boot统一异常捕获

    java异常介绍 异常时相对于return的一种退出机制,可以由系统触发,也可由程序通过throw语句触发,异常可以通过try/catch语句进行捕获并处理,如果没有捕获,则会导致程序退出并输出异常栈 ...

  4. 测试开发专题:spring-boot如何使用JPA进行双向一对多配置

    本片文章我们主要介绍spring-boot如何进行JPA的配置以及如何进行实体间的一对多配置. 依赖准备 要在spring-boot使用jpa需要在项目中有进入相关的依赖,pom文件里加入下面内容 & ...

  5. 使用Iperf工具测试android系统网络wifi的吞吐量wifithrougput

    http://blog.csdn.net/bingxuebage/article/details/7534655 服务端:./iperf3 -s &客户端:./iperf3 -c 10.15. ...

  6. rest-assured : Restful API 测试利器 - 真正的黑盒单元测试(跟Spring-Boot更配哦,更新至spring-boot1.4.1)

    { "Author":"tomcat and jerry", "URL" :"http://www.cnblogs.com/tom ...

  7. sysbench测试阿里云ECS云磁盘的IOPS,吞吐量

    测试阿里云ECS 对象:在aliyun上买了一个ECS附加的云盘,使用sysbench测试云盘的IOPS和吞吐量 sysbench prepare 准备文件,10个文件,1个1G [root@iZwz ...

  8. Jmeter 压力测试笔记(3)--脚本调试/签名/cookie/提升吞吐量/降低异常率/提升单机并发性能

    import XXXsign.Openapi2sign;---导入jar包中的签名方法 String str1 = "12121"; ---需要被签名的字段:向开发了解需要哪些哪些 ...

  9. 『动善时』JMeter基础 — 60、固定吞吐量测试

    目录 1.定时器介绍 2.固定吞吐量定时器介绍 3.固定吞吐量定时器界面说明 4.固定吞吐量定时器的使用 (1)测试计划内包含的元件 (2)登陆请求内容 (3)固定吞吐量定时器内容 (4)线程组元件内 ...

随机推荐

  1. hibernate封装Until工具类

    public class HibernateUntil { private static SessionFactory sessionfaction; //一个web项目确保只调用一个sessionf ...

  2. 微信小程序开发-窗体设置

    "window": { "backgroundTextStyle": "light", "navigationBarBackgro ...

  3. 容器云技术选择之kubernetes和swarm对比

    swarm和k8s本质都是容器编排服务.它们都能把底层的宿主机抽象化,然后将应用从以构建好的镜像开始,最终以docker的方式部署到宿主机上.   应该选择哪种方案作为我们的容器云服务呢? 我觉得k8 ...

  4. 免费申请使用IBM Cloud Lite(轻量套餐) 详细教程指南

    注册轻量帐户可在 IBM CLOUD控制台中使用所选的显示有轻量标记的免费轻量套餐来构建应用程序和探索服务.轻量帐户不会到期,也无需信用卡. 本文详细的介绍了一下,免费云服务的申请以及使用!这次使用I ...

  5. WordPress独立下载页面与演示插件:xydown

    我的博客是个资源分享的网站,所以需要提供下载,之前一直是在内容里直接添加个下载链接,感觉不是很美观,而且也麻烦,所以今天找了下看看有没有可以用的下载插件 xydown,这是一款可以独立下载页面与演示的 ...

  6. [Swift]LeetCode83. 删除排序链表中的重复元素 | Remove Duplicates from Sorted List

    Given a sorted linked list, delete all duplicates such that each element appear only once. Example 1 ...

  7. [Swift]LeetCode354. 俄罗斯套娃信封问题 | Russian Doll Envelopes

    You have a number of envelopes with widths and heights given as a pair of integers (w, h). One envel ...

  8. 白话说java gc垃圾回收

    gc是java区别于其他好几门语言(c/c++)的一个代表功能(当然也有很多可以自动管理内存的语言,如所有的脚本语言,你根本不知道内存管理这回事)! 当然,之所以要把c/c++和java相比,是因为j ...

  9. 使用jquery实现返回顶部按钮

    实现返回顶部效果,首先需要监听页面的scroll事件,其次才是获取到页面当前的滚动高度 $(window).scrollTop(); 具体代码如下: jquery获取页面元素的一些边界值(宽,高,滚动 ...

  10. 在admui中怎样上传本地文件?

    1.首先需要引入一些插件 css: <link rel="stylesheet" href="/vendor/blueimp-file-upload/jquery. ...