15个用户访问时只有两个用户成功,其他用户要等10分钟后才行(描述不来了)

参考连接
http://blog.csdn.net/zhangzuyuanbest/article/details/62046043
https://www.cnblogs.com/nnhy/p/BigData.html SQLite单表4亿订单,大数据测试
http://blog.csdn.net/zhao9tian/article/details/40346899 JAVA 模拟瞬间高并发
http://book.51cto.com/art/201110/299804.htm Siege学习
http://www.ha97.com/4663.html Web性能压力测试工具之Siege详解

http://blog.csdn.net/envyfan/article/details/42715779 Jmeter对HTTP请求压力测试、并发测试的简单使用方法

http://blog.csdn.net/defonds/article/details/40824011  JMeter 压力测试使用函数和 CSV 文件参数化 json 数据

https://www.cnblogs.com/summer-mm/p/7717812.html 使用JMeter进行一次简单的带json数据的post请求测试


环境:

  • jdk7.0
  • tomcat7.0
  • sqlite数据库

测试:

fiddle测试同一时间15次读请求(全部成功)


fiddle测试同一时间15次写请求(只有两次成功)

 

改用Siege测试读操作

并发30,重复10次

siege -c 30 -r 10 -f url.txt


并发30,重复30次----失败

并发30,重复15次

siege -c 30 -r 15 -f url.txt

成功率下降,本应处理30*15=450次请求,实际处理420次请求


当并发30,重复20以上时,会报错

[error] socket: unable to connect sock.c:230: Address family not supported by protocol

大哭

换一个测试工具

apache jmeterV3.1官方版

下载地址:http://www.wmzhe.com/soft-39158.html

双击 jmeter.bat 运行

实现测试功能:

压力测试,多线程并发,同时,重复访问,post提交,多个json参数

打开界面


添加线程组:


设置线程并发,间隔时间,重复次数


创建HTTP请求:



鼠标右击该采样器,右键菜单选择 "添加" -> 配置元件 -> HTTP 信息头管理器,然后信息头添加一条名称为 Content-Type,值为 application/json



将 json 数据参数化的两种方式:

方式一: 使用函数将 http json 数据参数化

像其他采样器一样使用函数助手生成一个引用字符串,比如 ${__Random(0,9,random_num_0_9)},它的作用是随机生成 0 - 9 之间的一个数字。random_num_0_9是变量名
然后编辑 Body Data 里的 json 串里需要参数化的地方,使用 ${__Random(0,9,random_num_0_9)} 覆盖需要参数化的部分
使用函数将 http json 数据参数化

方式二: 使用 CSV Data Set Config 将 json 数据参数化

右键单击 Thread Group,右键菜单选择 "添加" -> 配置元件 -> CSV Data Set Config



添加运行结果分析监听器





结合数据库观察数据










發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章