![您如何知道每秒的页面浏览量是多少才是您的服务器可以接受的?](https://linux22.com/image/529384/%E6%82%A8%E5%A6%82%E4%BD%95%E7%9F%A5%E9%81%93%E6%AF%8F%E7%A7%92%E7%9A%84%E9%A1%B5%E9%9D%A2%E6%B5%8F%E8%A7%88%E9%87%8F%E6%98%AF%E5%A4%9A%E5%B0%91%E6%89%8D%E6%98%AF%E6%82%A8%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%8F%AF%E4%BB%A5%E6%8E%A5%E5%8F%97%E7%9A%84%EF%BC%9F.png)
Apache 的 AB 工具允许我们测试服务器,以查看服务器每秒可以处理多少页面。结果显然会根据服务器硬件和软件配置的规格而有所不同。我的问题是:您如何知道服务器的结果何时太低/可以改进?或者是可以接受/优化的?
答案1
如果您的结果接近您的场景的大致数字(对于小型静态文件每秒至少有数千个请求,对于简单的动态 PHP 每秒至少有数百个请求,对于带有数据库等的大量动态内容可能更少)并且服务器仍然运行良好,那么您就没问题。
在负载测试期间,服务器仍然有喘息空间也很重要。如果它几乎没有剩余的 CPU 时间或额外内存,那么在网站流量突然激增和/或增长时,您将会遇到大麻烦。
相信你的直觉。如果你只有一个小型数据库来存储内容,并且在基准测试期间数据库服务器似乎消耗了大量的 CPU,请仔细检查所有内容。数据库服务器本身配置是否正确?所有预期的索引是否都已到位?网站是否执行了一些可以优化和/或缓存的半心半意的 SQL 查询?还有其他问题吗?或者,如果你的 Web 服务器似乎甚至在提供静态内容时也花费了大量时间,请检查 Web 服务器设置。
如果你碰巧对一个完全慢如蜗牛的网站进行基准测试,你就会知道还有优化的空间。我曾经对一个看似简单的网站进行基准测试,它运行在一台 8 核服务器、16 GB RAM 和所有那些配置上。ab、siege 和 JMeter 都给我每秒 5 个请求!那时我就知道有些事情非常非常严重地出错了。讽刺的是,是完全配置错误的 cache-plugin 访问了 memcached,出了问题。修复之后,网站速度快了大约 100 倍。:-)
答案2
基准测试是一个非常复杂的话题……
我的观点是……在测试中使用不同数量的并发
1-2-8-16-64-256-512-1024-2048
并推送大量请求..直到
您开始看到错误..由 AB 返回...
然后您开始发现您的应用程序 + 网络服务器的极限。
还要记住您的 RTT 和延迟..
记得运行测试一段时间以获得良好的平均值。
我还应该注意。您可以轻松使用测试服务器上的所有 CPU,而不是实际测试的服务器。因此,请密切关注测试机器上的 CPU 和内存。
希望有帮助:D
答案3
在我看来,问题始终在于用户数量以及他们预期/预期的体验。您的使用情况会有所不同,但我确信,如果 Google 开始以 Expedia 的速度做出响应,人们会感到失望。因此,最终问题在于您的系统在面对一定流量时会如何反应 - 我们无法告诉您这些数据,您需要自己了解。