测试一波SpringBoot的HTTP吞吐量
本来,其实就我个人而言现在很少去弄性能这一块的阵地了,主要在做设计与架构,不过前几天刚刚关注公众号的罗哥给我抛了关于性能方面的问题。
一个问题立马引起了我的兴趣,太久没弄性能方面的事情了,所以在隔天有空的时候就立马动手测试了一下。
当然这个性能是在本机测的,所以还要看本机的配置。以下是我的机子的配置。
你需要准备的是一个自己写的应用程序与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吞吐量的更多相关文章
- 测试开发专题:spring-boot自定义异常返回
		上文测试开发专题:spring-boot统一异常捕获我们讨论了java异常以及如何使用Spring-Boot捕获异常,但是没有去说捕获异常后该如何进一步处理,这篇文章我们将对这个遗留的问题进行讨论. ... 
- 【SpingBoot】 测试如何使用SpringBoot搭建一个简单后台1
		很久没写博客了,最近接到一个组内的测试开发任务是做一个使用SpringBoot 开发一个后台程序(还未完成),特写感想记录一下 1. 为什么选择SpringBoot ? 首先是目前很多公司的后台还是J ... 
- 测试开发专题:spring-boot统一异常捕获
		java异常介绍 异常时相对于return的一种退出机制,可以由系统触发,也可由程序通过throw语句触发,异常可以通过try/catch语句进行捕获并处理,如果没有捕获,则会导致程序退出并输出异常栈 ... 
- 测试开发专题:spring-boot如何使用JPA进行双向一对多配置
		本片文章我们主要介绍spring-boot如何进行JPA的配置以及如何进行实体间的一对多配置. 依赖准备 要在spring-boot使用jpa需要在项目中有进入相关的依赖,pom文件里加入下面内容 & ... 
- 使用Iperf工具测试android系统网络wifi的吞吐量wifithrougput
		http://blog.csdn.net/bingxuebage/article/details/7534655 服务端:./iperf3 -s &客户端:./iperf3 -c 10.15. ... 
- rest-assured : Restful API 测试利器 - 真正的黑盒单元测试(跟Spring-Boot更配哦,更新至spring-boot1.4.1)
		{ "Author":"tomcat and jerry", "URL" :"http://www.cnblogs.com/tom ... 
- sysbench测试阿里云ECS云磁盘的IOPS,吞吐量
		测试阿里云ECS 对象:在aliyun上买了一个ECS附加的云盘,使用sysbench测试云盘的IOPS和吞吐量 sysbench prepare 准备文件,10个文件,1个1G [root@iZwz ... 
- Jmeter 压力测试笔记(3)--脚本调试/签名/cookie/提升吞吐量/降低异常率/提升单机并发性能
		import XXXsign.Openapi2sign;---导入jar包中的签名方法 String str1 = "12121"; ---需要被签名的字段:向开发了解需要哪些哪些 ... 
- 『动善时』JMeter基础 — 60、固定吞吐量测试
		目录 1.定时器介绍 2.固定吞吐量定时器介绍 3.固定吞吐量定时器界面说明 4.固定吞吐量定时器的使用 (1)测试计划内包含的元件 (2)登陆请求内容 (3)固定吞吐量定时器内容 (4)线程组元件内 ... 
随机推荐
- 矢量图形(vector graphics)和位图图像(bitmap)以及分辨率概念
			第一篇:凭心而论.客观地认识矢量图形与位图图像http://www.dzwebs.net/2003.html 学习过物理的人都明白,矢量有大小和方向,而标量只有大小却没有方向: 但是在计算机里面,图形 ... 
- 1 eclipse 离线安装activiti插件
			第一步:下载需要的离线activiti文件: 链接:https://pan.baidu.com/s/1-_XjIsuZfhiEZn6iLul6-Q 密码:mfyk (这是其他网友的链接) 第二步: ... 
- RabbitMQ in Action (1): Understanding messaging
			1. Consumers and producers Producers create messages and publish (send) them to a broker server (Rab ... 
- [Swift]LeetCode168. Excel表列名称 | Excel Sheet Column Title
			Given a positive integer, return its corresponding column title as appear in an Excel sheet. For exa ... 
- [SQL]LeetCode182. 查找重复的电子邮箱 | Duplicate Emails
			Write a SQL query to find all duplicate emails in a table named Person. +----+---------+ | Id | Emai ... 
- [Swift]LeetCode390. 消除游戏 | Elimination Game
			There is a list of sorted integers from 1 to n. Starting from left to right, remove the first number ... 
- grep的正则表达式结合的几个典型应用
			一 几个特殊的字符: ^ :只匹配行首 如^a 匹配以a开头的行abc,a2e,a12,aaa,...... example: grep "^a" //列出所有以a开头的行 $ ... 
- CentOS安装gcc clang git mysql等软件高版本福利
			最近同事需要在单位提供的开发机上临时安装gcc等软件,时间紧迫,因此向其推荐安装福利devtoolset. 感谢devtoolset,使得CentOS软件安装无比的快捷,卸载也是无与伦比的简单. gc ... 
- Prometheus使用入门
			Monitoring with Prometheus读书笔记 原书见: https://www.safaribooksonline.com/library/view/monitoring-with-p ... 
- 【Spark篇】---SparkStreaming算子操作transform和updateStateByKey
			一.前述 今天分享一篇SparkStreaming常用的算子transform和updateStateByKey. 可以通过transform算子,对Dstream做RDD到RDD的任意操作.其实就是 ... 
