模拟高并发场景工具:siege
1.模拟高并发场景
1.1 安装工具:siege
wget http://download.joedog.org/siege/siege-latest.tar.gz
tar -zxvf siege-latest.tar.gz
cd siege-4.0.8
./configure
make
make install
1.2 模拟高并发场景
- 创建一个包含url请求的文件
这里的url例子是作者自己创建的本地服务,读者根据实际情况自行修改。
url.txt
http://localhost:8001/hi?name=text
http://localhost:8001/testValue
- 使用siege发起请求
siege -c 10 -r 100 -f url.txt# -c 并发量
# -r 重复次数
# -f 存放请求url的文件# 执行效果如下:
{ "transactions": 2000, # 已完成的事务总数"availability": 100.00, # 请求成功率"elapsed_time": 0.83, # 总消耗时间"data_transferred": 0.03, # 响应数据的总大小"response_time": 0.01, # 响应时间"transaction_rate": 2409.64, # 平均每秒完成的事务数量"throughput": 0.03, # 平均每秒传送的数据量"concurrency": 19.69, # 实际最高并发链接数"successful_transactions": 2000, # 成功的事务总数"failed_transactions": 0, # 失败的事务总数"longest_transaction": 0.06, # 最长的事务处理时间"shortest_transaction": 0.00 # 最短的事务处理时间
}
使用-f的方式,可以请求多个接口,如果只有一个接口,也可以直接url,如下:
siege -c 10 -r 100 http://localhost:8001/hi?name=text
1.3 提高并发量至“部分请求失败”的程度
# 将并发量设置为200
siege -c 200 -r 100 -f url.txt# 请求结果如下:
[error] socket: read error Connection reset by peer sock.c:635: Connection reset by peer
[error] unable to write to socket sock.c:733: Broken pipe
[error] unable to write to socket sock.c:733: Broken pipe
[error] unable to write to socket sock.c:733: Broken pipe
... ...
[error] socket: read error Connection reset by peer sock.c:635: Connection reset by peer
[error] unable to write to socket sock.c:733: Broken pipe{ "transactions": 9278,"availability": 89.89,"elapsed_time": 9.18,"data_transferred": 0.13,"response_time": 0.14,"transaction_rate": 1010.68,"throughput": 0.01,"concurrency": 143.67,"successful_transactions": 9278,"failed_transactions": 1044,"longest_transaction": 0.73,"shortest_transaction": 0.00
}
由上面的数据可以看出,当并发量为200的时候,当前服务就已经无法承载,导致部分请求失败.
模拟高并发场景工具:siege相关推荐
- Spring Boot集成Redis缓存之模拟高并发场景处理
前言 同样我们以上一篇文章为例子,搭建好环境之后,我欧美可以模拟高并发场景下,我们的缓存效率怎么样,到底能不能解决我们实际项目中的缓存问题.也就是如何解决缓存穿透? Spring Boot集成Redi ...
- 使用CountDownLatch模拟高并发场景
import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutorService; import java ...
- OkHttp工具类在微服高并发场景中问题实践总结
OkHttp工具类在微服高并发场景中问题实践总结 问题场景 我的应用是一个中间业务应用XXApp,一个交易请求进来需要依赖下游应用,采用http协议通讯方式,需要调用3-4次下游请求. 老XXApp在 ...
- 万字干货 | Python后台开发的高并发场景优化解决方案
嘉宾 | 黄思涵 来源 | AI科技大本营在线公开课 互联网发展到今天,规模变得越来越大,也对所有的后端服务提出了更高的要求.在平时的工作中,我们或多或少都遇到过服务器压力过大问题.针对该问题,本次公 ...
- 91免费视频Redis+Lua解决高并发场景在线秒杀问题
为何要使用Lua脚本解决商品超卖的问题呢? Redis在2.6版本后原生支持Lua脚本功能,允许开发者使用Lua语言编写脚本传到Redis中执行. 将复杂的或者多步的redis操作,写为一个脚本,一次 ...
- 干货 | Python后台开发的高并发场景优化解决方案
嘉宾 | 黄思涵 来源 | AI科技大本营在线公开课 互联网发展到今天,规模变得越来越大,也对所有的后端服务提出了更高的要求.在平时的工作中,我们或多或少都遇到过服务器压力过大问题.针对该问题,本次公 ...
- 并发经验八年架构师:缓存在高并发场景下该如何问题
缓存一致性问题 当数据时效性要求很高时,需要保证缓存中的数据与数据库中的保持一致,而且需要保证缓存节点和副本中的数据也保持一致,不能出现差异现象.这就比较依赖缓存的过期和更新策略.一般会在数据发生更改 ...
- 共享出行业务下的高并发场景
如今不管面试还是项目中都会听到高并发这个词,尽管我没主导设计过千万.亿万级的项目并从中经历高并发场景,但至少主导并经历百万级的高并发(QPS 过万). 本场 Chat 首先会带领大家聊聊高并发.本场 ...
- 高并发场景下数据库的常见问题及解决方案
一.分库分表 (1)为什么要分库分表 随着系统访问量的增加,QPS越来越高,数据库磁盘容量不断增加,一般数据库服务器的QPS在800-1200的时候性能最佳,当超过2000的时候sql就会变得很慢并且 ...
最新文章
- jquery源码解析:each,makeArray,merge,grep,map详解
- MVC在filter中如何获取控制器名称和Action名称
- Linux Kernel TCP/IP Stack — Socket Layer
- php,Allowed memory size of 8388608 bytes exhausted (tried to allocate 1298358 bytes)
- bsc是指什么_为什么KPI令人厌恶?中小企业不要乱用KPI!
- Tell me why -- Declan Galbraith
- js php 中文乱码怎么解决_php中文乱码怎么解决
- oracle11g win10版本,win10系统安装的oracle11g和cloud6.2 创建数据中心报错
- 【python】-- Django ModelForm
- graphx项目实战 — 航班飞行网图分析
- 我在谷歌大脑工作的 18 个月中,是怎样研究强化学习的?
- 地图比例尺与空间分辨率之间的关系_卫星遥感制图最佳影像空间分辨率与地图比例尺关系探讨.doc...
- 9、共射放大电路的失真与共射放大电路的阻抗与密勒效应
- Sublime Text2 好用技巧备忘
- 我怎么就沦落到听新裤子的地步了呢?
- VxWorks6.6开发共享库指南要点
- 如何创建一个最简单的Windows桌面应用程序 (C++)
- 大学计算机基础实验指导word,大学计算机基础实验指导全套.doc
- lol服务器维护 胜率,说下这游戏服务器控制胜率怎么来的。
- 百万调音师—Audition 标记