我对如何读取 Apache Bench 数据感到非常困惑。
Apache Benching 本地机器显示我的开发 linode 和生产 linode 之间存在巨大差异。我的开发服务器是一个 512mb linode,刚刚从我的 2gb linode 克隆而来,这意味着除了少数设置(静态 IP 设置)之外,其他设置都相同。
我的开发服务器在内存只有 1/4 的情况下,从同一台机器上获得了大约 2 倍的 RPS 性能。由于它是为 2GB 服务器设置的,因此开始交换(交换使用量:30mb 左右)并获得更好的响应时间。
我的生产服务器只得到了其中的一半。
ab、iotop 和 cpu 信息的屏幕截图
https://i.stack.imgur.com/2mczZ.png (不能发布图片,也不能发布超过 1 个链接!)
我正在运行的命令是:ab -n 2000 -c 50 localhost:8080
对本地主机进行基准测试应该将网络排除在外,对吗?
从我的台式机上看,两个服务器都给出相同的结果,因为我只能以 700Kb/s 的速度下载
如何排除服务器差异?开发服务器上的 CPU 速度更快?
它是否考虑了 2x rps?或者是否存在受到以下因素不利影响的设置:更多内存?
我不知道这是否是一个真正的问题,或者只是像我的生产 linode 从其他 VPS/不同硬件获得了更高的负载。
谢谢你的时间!
答案1
查看 CPU 基准测试合格标志您的特定 CPU 的差异为 3.4 倍,而您的开发机器在基准测试评级中是速度更快的。由于这非常接近 ab 基准测试中的 3.3 倍时间因子,因此可以很好地猜测差异仅仅是由于开发机器上的 CPU 更好。
请注意,现代 CPU 不能仅通过时钟速度来判断。例如,开发版上的缓存是生产版机器上的两倍,这本身就是一个重要因素。机器之间的 RAM 差异似乎不会影响性能,这一事实可能表明您的测试/应用程序受 CPU 限制多于内存/IO 限制。