你怎么知道每秒多less个页面浏览量对于你的服务器是可以接受的?

Apache的AB工具允许我们testing我们的服务器,看看每秒服务器可以处理多less页。 结果显然会根据服务器硬件和软件configuration的规格而有所不同。 我的问题是:你怎么知道你的服务器的结果太低/可以改进? 还是可以接受/优化?

  • 如果你的结果甚至接近你的场景的总体平均数字(对于小的静态文件,每秒至less有数千次的请求,对于简单的dynamicPHP,每秒至less数百次的请求,对于数​​据库和东西的重度dynamic内容可能更less)应该有和服务器仍然是好玩的,那么你没事。

  • 在负载testing期间,服务器还有余地喘息也是重要的。 如果没有任何CPU时间或者额外的内存,那么在突发stream量高峰和/或站点增长的时候,你将会遇到很大的麻烦。

  • 相信你的直觉。 如果你的内容只有一个小的数据库,在基准testing期间,数据库服务器似乎吃了很多的CPU,去检查一切。 数据库服务器本身configuration好吗? 所有预期的指标是否到位? 网站是否执行了一些可以优化和/或caching的半分类SQL查询? 别的东西? 或者,如果您的Web服务器似乎花费了很多时间甚至提供静态内容,请检查Web服务器设置。

如果你碰巧把一个完全缓慢的蜜糖网站作为基准,你就会知道还有优化的空间。 我曾经以一个看似简单的网站为基准进行了testing,这个网站运行着一个8核服务器,16GB内存和所有爵士乐。 ab,围困和JMeter都给了我每秒5个请求! 在那一刻,我知道有什么是非常非常非常错误的。 讽刺的是,这是完全错误configuration的caching插件访问memcached是错误的。 确定后,该网站快了大约100倍。 🙂

标杆pipe理是一个如此复杂的话题

我的观点..在你的testing中使用不同数量的并发

1-2-8-16-64-256-512-1024-2048

并推动很多请求..直到

你开始看到错误..由AB返回…

然后,你开始find你的应用程序+networking服务器的限制..

请记住您的RTT和延迟..

记得运行你的testing一段时间,以获得良好的平均水平。

我也应该注意到。 你可以很容易的使用你的服务器上的所有CPU,而不是你真正testing的服务器。所以,请关注你的testing机器上的CPU和内存。

希望有助于:D

在我看来,总是关于用户的数量和预期/预期的体验。 您的使用案例会有所不同,但我确定Google是否开始以Expedia的速度说,他们会感到失望。 所以,最终的结果就是当系统遇到一定的stream量时,系统如何反应 – 而且我们不能告诉你这些数据,你需要了解自己。