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 模拟高并发场景

  1. 创建一个包含url请求的文件

这里的url例子是作者自己创建的本地服务,读者根据实际情况自行修改。

url.txt

http://localhost:8001/hi?name=text
http://localhost:8001/testValue
  1. 使用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相关推荐

  1. Spring Boot集成Redis缓存之模拟高并发场景处理

    前言 同样我们以上一篇文章为例子,搭建好环境之后,我欧美可以模拟高并发场景下,我们的缓存效率怎么样,到底能不能解决我们实际项目中的缓存问题.也就是如何解决缓存穿透? Spring Boot集成Redi ...

  2. 使用CountDownLatch模拟高并发场景

    import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutorService; import java ...

  3. OkHttp工具类在微服高并发场景中问题实践总结

    OkHttp工具类在微服高并发场景中问题实践总结 问题场景 我的应用是一个中间业务应用XXApp,一个交易请求进来需要依赖下游应用,采用http协议通讯方式,需要调用3-4次下游请求. 老XXApp在 ...

  4. 万字干货 | Python后台开发的高并发场景优化解决方案

    嘉宾 | 黄思涵 来源 | AI科技大本营在线公开课 互联网发展到今天,规模变得越来越大,也对所有的后端服务提出了更高的要求.在平时的工作中,我们或多或少都遇到过服务器压力过大问题.针对该问题,本次公 ...

  5. 91免费视频Redis+Lua解决高并发场景在线秒杀问题

    为何要使用Lua脚本解决商品超卖的问题呢? Redis在2.6版本后原生支持Lua脚本功能,允许开发者使用Lua语言编写脚本传到Redis中执行. 将复杂的或者多步的redis操作,写为一个脚本,一次 ...

  6. 干货 | Python后台开发的高并发场景优化解决方案

    嘉宾 | 黄思涵 来源 | AI科技大本营在线公开课 互联网发展到今天,规模变得越来越大,也对所有的后端服务提出了更高的要求.在平时的工作中,我们或多或少都遇到过服务器压力过大问题.针对该问题,本次公 ...

  7. 并发经验八年架构师:缓存在高并发场景下该如何问题

    缓存一致性问题 当数据时效性要求很高时,需要保证缓存中的数据与数据库中的保持一致,而且需要保证缓存节点和副本中的数据也保持一致,不能出现差异现象.这就比较依赖缓存的过期和更新策略.一般会在数据发生更改 ...

  8. 共享出行业务下的高并发场景

    如今不管面试还是项目中都会听到高并发这个词,尽管我没主导设计过千万.亿万级的项目并从中经历高并发场景,但至少主导并经历百万级的高并发(QPS 过万). 本场 Chat 首先会带领大家聊聊高并发.本场 ...

  9. 高并发场景下数据库的常见问题及解决方案

    一.分库分表 (1)为什么要分库分表 随着系统访问量的增加,QPS越来越高,数据库磁盘容量不断增加,一般数据库服务器的QPS在800-1200的时候性能最佳,当超过2000的时候sql就会变得很慢并且 ...

最新文章

  1. jquery源码解析:each,makeArray,merge,grep,map详解
  2. MVC在filter中如何获取控制器名称和Action名称
  3. Linux Kernel TCP/IP Stack — Socket Layer
  4. php,Allowed memory size of 8388608 bytes exhausted (tried to allocate 1298358 bytes)
  5. bsc是指什么_为什么KPI令人厌恶?中小企业不要乱用KPI!
  6. Tell me why -- Declan Galbraith
  7. js php 中文乱码怎么解决_php中文乱码怎么解决
  8. oracle11g win10版本,win10系统安装的oracle11g和cloud6.2 创建数据中心报错
  9. 【python】-- Django ModelForm
  10. graphx项目实战 — 航班飞行网图分析
  11. 我在谷歌大脑工作的 18 个月中,是怎样研究强化学习的?
  12. 地图比例尺与空间分辨率之间的关系_卫星遥感制图最佳影像空间分辨率与地图比例尺关系探讨.doc...
  13. 9、共射放大电路的失真与共射放大电路的阻抗与密勒效应
  14. Sublime Text2 好用技巧备忘
  15. 我怎么就沦落到听新裤子的地步了呢?
  16. VxWorks6.6开发共享库指南要点
  17. 如何创建一个最简单的Windows桌面应用程序 (C++)
  18. 大学计算机基础实验指导word,大学计算机基础实验指导全套.doc
  19. lol服务器维护 胜率,说下这游戏服务器控制胜率怎么来的。
  20. 百万调音师—Audition 标记

热门文章

  1. 通过Python在健康码,行程卡的截图上添加文字内容,省心省力
  2. Improved Mixed-Example Data Augmentation论文阅读笔记
  3. shodan的使用及maltego的注册
  4. 爬取百度指数行业排行
  5. matlab启发式算法
  6. 心理学、文学和数学——学习资料汇总
  7. lamda表达式是啥?是如何来的呢?如何快速理解lamda表达式
  8. 球半预测WNBA :凤凰城水银VS 明尼苏达天猫
  9. ViewPager 全面总结
  10. MySQL case when then 用法