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