![准确对服务器进行基准测试](https://linux22.com/image/525423/%E5%87%86%E7%A1%AE%E5%AF%B9%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%9B%E8%A1%8C%E5%9F%BA%E5%87%86%E6%B5%8B%E8%AF%95.png)
我正在准备一台用于生产的服务器,并试图准确估计它能够处理多少数据。
例如,在某个静态页面上(整个页面始终相同),如果我在其上运行 apache 基准测试,我每秒可以获得 5000 到 10000 个请求(取决于并发性)。但如果我在另一台相同的服务器上运行相同的测试(对同一台服务器进行基准测试,但在不同的机器上运行 apache 基准测试),我每秒会得到 168 个请求。这是一个巨大的差异。
再举一个例子,在动态页面上,当在本地测试时,我每秒可能会得到 100 到 200 个请求,但当在不同服务器上测试时,每秒只有 50 个请求。
这些测试的准确性如何?我如何才能知道服务器到底有多好?
答案1
这不是服务器问题 - 它很大程度上取决于您生成的负载。任何现实的规模都必须来自对数据交付的现实测试,为此,有 farmeworks(商业的,可能是一些开源的)会以确定的方式在您的 Web 应用程序中运行,可能有许多代理会访问服务器以找出它可以处理的负载。
例如,在某个静态页面上(整个页面始终相同),如果我在其上运行 apache 基准测试,我每秒可以获得 5000 到 10000 个请求(取决于并发性)。但如果我在另一台相同的服务器上运行相同的测试(对同一台服务器进行基准测试,但在不同的机器上运行 apache 基准测试),我每秒会得到 168 个请求。这是一个巨大的差异。
这基本上就是引入的网络。停留在同一台服务器上是零延迟,几乎无限带宽。当您从另一台服务器进行测试时,情况会发生变化。