我们是小公司之前一直没怎么做过压测,基本上都是能用就行,逻辑完整不出错就行
但是最近要搞秒杀活动,流量会很大,所以得提前压一压
本人比较倾向于流量复制,觉得像 jmeter 这种直接压接口的并不是很科学,不真实
tcpcopy 和 goreplay
但是没有使用经验问下大家的建议,可以推荐其他方案,现在在技术选型,还没定,如果是 tcpcopy 的话想问问压得过程怎么监测程序状态(测试报告,配合 skywalking 监测能看出来吗)
|      1madfloyd2016      2020-04-20 15:02:12 +08:00 via iPhone ddos 挑衅😬 | 
|  |      2yangyuhan12138 OP @madfloyd2016 .... | 
|  |      3per      2020-04-20 15:29:10 +08:00  4 你就发个帖在论坛里: 求 ddos,一堆人免费给你做 | 
|  |      4yangyuhan12138 OP @per 🐂🍺 | 
|  |      5yangyuhan12138 OP @per 跟论坛发我认为 200 元以下没有好耳机同理? | 
|      6dilu      2020-04-20 15:35:50 +08:00 简单 apache ab 复杂的 jmeter | 
|  |      7guyeu      2020-04-20 15:40:55 +08:00 客户端一般用 jmeter 或者 apachebench...一个接口一个接口压...不喜欢这种流量复制的方式,会导致有些接口压不到。。。监控用 micrometer+prometheus+grafana 了,需要整体规划,要不然会弄得很奇怪。 | 
|      8jorneyr      2020-04-20 15:41:51 +08:00 哪里能买 DDOS 服务? | 
|      9sbbeta      2020-04-20 15:42:11 +08:00 via Android @yangyuhan12138 去全球主机论坛发一贴,估计测到怀疑人生 | 
|  |      10xuqd      2020-04-20 15:42:17 +08:00 gatling | 
|  |      11Laimf      2020-04-20 15:48:24 +08:00 你这只是秒杀活动,我觉得 JMeter 完全 ok 吧,做一个简单流量模型就可以了。 你如果用 tcpcopy,其实也是流量录制再进行回放,你首先就需要录制到这么大的流量或者进行流量放大(这个我感觉不靠谱),而且还需要注意脏数据的处理。 监控的话,一般就看 cpu,压的时候 cpu 多,内存小,就是 cpu 密集型,从这个方向去看,内存多,cpu 小,就是吃内存,排查这个方面。 你有 skywalking,这样的链路跟踪,肯定是 ok 的呀,不晓得你们配置怎么样,这个东西本身会消耗一定资源,监控程序状态不晓得你说的什么方面,一般看服务器资源吧,程序有问题会表现在外层,在资源方面有体现,再跟踪下 log 应该可以,后面就是自己一层一层排查了。 | 
|  |      13ddup      2020-04-20 15:53:08 +08:00 Visual Studio 自带的负载测试。 | 
|      14zfz001      2020-04-20 15:55:48 +08:00 via iPad ddos 可还行 | 
|  |      15yangyuhan12138 OP @omL72EEc 哈哈哈哈哈哈哈  认真的啊  ddos 的别来了 | 
|  |      16yangyuhan12138 OP @Laimf 我现在的思路是录制流量再放大,想吸取下 v2er 们的方案 Jmeter 还有个不足就是数据都是自己造的啊  不真实 | 
|  |      17yangyuhan12138 OP @guyeu 一个个压其实也可以但是得花时间梳理要用到的所有相关接口,不可能吧整个系统的接口都压,那太多了,梳理的话梳漏的可能性比较大 | 
|      18polymerdg      2020-04-20 16:12:23 +08:00 wrk | 
|  |      19Laimf      2020-04-20 16:13:15 +08:00 流量录制再放大,只适用于 get 请求(不能有 post 不然会有很多脏数据),我不清楚你这个秒杀具体是怎么样哈。 我说下,我觉得怎么搞,秒杀的核心就是缓存和队列,一大波请求过来,你这边能不能扛得住,具体业务逻辑应该没什么很复杂,就是加锁判断。所以要注意下死锁,还有就是不要导致请求超时。 你说的 jmeter 数据要自己造,不太清楚你要造什么数据,一般来说,你可以从数据库直接拿历史数据就可以呀。 | 
|  |      20jaaazzz      2020-04-20 16:15:30 +08:00 jmeter 有吊用?不用 loadrunner 用啥 | 
|  |      21pmispig      2020-04-20 16:20:59 +08:00 我喜欢定制化的,先按规则生成数据,然后自己用 go 或者 erlang 写 | 
|  |      23opengps      2020-04-20 16:25:54 +08:00 我最早是自己写程序多线程轮训,这样能够构造出很多类型数据出来 | 
|      24lingtao13      2020-04-20 16:30:10 +08:00 内部用的微服务测用 jmeter,走流程上线正式服务用 loadrunner | 
|      25leafShimple      2020-04-20 16:58:40 +08:00 wrk jmeter | 
|  |      26asAnotherJack      2020-04-20 17:02:11 +08:00 wrk,另外还用过一个 hey,golang 写的 | 
|  |      27dV9zZM1wROuBT16X      2020-04-20 17:07:27 +08:00 siege/wrk/locust | 
|  |      28yangyuhan12138 OP @Laimf    就是要 post 呀 ....什么接口都得压呗  数据落测试库 | 
|  |      29viakiba      2020-04-20 17:35:05 +08:00 ngrinder 支持 groovy 和 python,groovy 还能调用 jar 文件 | 
|  |      30areless      2020-04-20 17:38:26 +08:00 via Android wrk 加 lua | 
|  |      31Laimf      2020-04-20 17:49:17 +08:00 @yangyuhan12138  post 的请求,你录制回放的话,就有点难搞了哦,除非你在服务端做 mock,如果这样的话,感觉工程量更大。 | 
|  |      32yangyuhan12138 OP @Laimf 我打算的就是改服务 做 mock 调用 | 
|  |      33yangyuhan12138 OP |