AB 速度测试两个不同的 URL

AB 速度测试两个不同的 URL

我在本地运行两台不同的服务器,配置不同。我很想看看它是否更好/更快。我现在正在使用 siege

$  siege -r 100 -b http://localhost:3000
$  siege -r 100 -b http://localhost:3001

我可以手动比较结果,但在同一台服务器上两次不同的围攻运行之间,结果会有所不同。有没有办法获得两个端点的每秒迭代次数报告以及任何类型的统计分析?基本上我想要一个类似于

  http://localhost:3000/    147625 i/100ms
  http://localhost:3001/    151046 i/100ms
  http://localhost:3002/    172914 i/100ms
-------------------------------------------------
  http://localhost:3000/  9247039.5 (±13.2%) i/s -   45320875 in   5.009003s
  http://localhost:3001/ 26436533.8 (±22.1%) i/s -  124461904 in   4.994989s
  http://localhost:3002/ 32227427.9 (±13.0%) i/s -  157524654 in   5.002928s

是否有任何好的工具或方法可以告诉我哪个端点始终更快以及快多少?如果我可以在 Mac 上安装该工具,则可以获得加分。

答案1

虽然不是规范的,但对我来说效果很好,我能够通过这样做获得一致的结果:

require 'benchmark/ips'
require 'net/http'
require 'uri'

L3002 = URI.parse "http://localhost:3002/"
L3001 = URI.parse "http://localhost:3001/"

Benchmark.ips do |x|
  x.config(time: 5, warmup: 5)
  x.report("3002") { Net::HTTP.get_response(L3002)  }
  x.report("3001") { Net::HTTP.get_response(L3001) }
  x.compare!
end

相关内容