使用流量复制进行压测 - youngperson/study-100 GitHub Wiki
传统压测工具
- ab、webbench、wrk、httpperf
- 简单、成本低
- 网络过于理想化、请求单一、同一客户端
基于web服务器的请求复制
- 请求多样化、成本低
- 不具备通用性、丢失网络延迟、占用在线资源比较严重
mirror(基于应用层)
-
https://github.com/session-replay-tools/mirror/blob/master/README.md
-
基于应用层的流量复制工具和基于网络栈的流量复制工具。前者实现简单,但会挤 占线上应用的资源(比如连接资源,内存资源等),还可能会因为耦合度高而影响正常业务。
-
而基于网络栈的流 量复制工具,直接从链路层抓取数据包,对应用影响较小,但是其实现也就相对复杂一些。
-
mirror是基于应用层的流量复制
tcpcopy(基于网络栈,tcp协议的流量复制)
-
解决传统压测、基于web服务器请求复制的问题
-
针对 TCP 的基于底层的在线请求复制工 具,可以用来帮助解决架构方面的大部分问题
-
在不影响在线使用的情况下,把线上的流量 复制并且引到测试环境中去,使其达到对 server 测试的目的
goReplay(http协议的流量复制)