我的网络服务器应能够处理多少个请求?


39

因为我知道对此没有真正的答案,所以不详细说明规格。但是我今天一直在用abApache中的命令进行负载测试。

在从4个不同的数据库表加载并处理数据的页面上,获得了每秒70个请求(1000个并发用户的1000个请求)的数量。所以这是一个相当沉重的页面。

该服务器目前尚未用于其他任何用途,它的负载仅由我自己承担,因为它正在开发中。但是许多用户每天都会使用该应用程序。

但是够了吗?还是我应该担心(只要超过X请求一秒钟)

我以为我不用担心,但是我想要一些提示。

Answers:


44

每秒70个请求的速度为每小时252,000页渲染。

如果您假设您网站的平均浏览会话深度为10页,那么您每小时可以支持25,000个唯一身份访问。

您可能应该根据预期的访问者数量检查这些数字,这些数字应该可以从业务方面的人员那里获得。

我工作的许多网站在每天大约3个小时的高峰期内,每天的访问量约为50%。如果您的网站就是这种情况(这取决于您提供的内容类型和受众),那么您应该能够支持每天大约150,000的唯一身份访问量。

这些数字不错。我想你应该没事。现在来看一下操作码缓存和数据库调整是明智的,但切记过早的优化是万恶之源。监视站点,查找热点,并等待流量增长,然后再为不存在的问题进行昂贵的优化工作。


很好的答案,正是我想要的。我没有做任何优化,但想获取基线数字以了解当前的位置。
奥拉维尔Waage

“如果您假设您网站的平均浏览会话深度为10页,那么您每小时可以支持25,000个唯一身份访问。” ...假设每个唯一身份在会话期间每秒发送一次请求。如果访问者需要在下一次单击/请求之前进行思考(例如5秒钟),则可以在并行会话中支持更多访问者。
Jochem Schulenklopper 2015年

从代码的角度来看,我完全同意“过早的优化”。但是,从整体上选择一个有缺陷的设计实际上是万恶之源。除了重写之外,没有什么能克服有缺陷的设计。
杰夫·菲舍尔

5

我过去使用过2种工具来观察 apache服务器的性能

一个是munin,它可以绘制各种图形,包括apache实例的数量,连接的数量,可用内存,处理器的使用情况等-可以帮助我确定何时接近危险区域以及原因。

第二个只是简单的apache服务器状态页面http:// your_server / server-status?refresh = 10),它使我可以看到每个连接的状态以及在任何给定时刻可用的可用连接数。


1

我建议您仅在您认为自己的应用程序启动时会很忙时才担心。所讨论的页面是否可能受到重创?更难?减?如果您不知道,我会怀疑这不太可能是早先的问题。如果这是您最慢的页面,那么您以后将不得不优化系统时,将可以找到一个地方。

您还可以做很多事情来调整大多数Web服务器和数据库引擎,以提高性能。


我想为一些小的请求做好准备,例如,一个非常快速的页面每秒可以处理大约110个请求。服务器可以在空白页面上处理2900 rps。
奥拉维尔Waage

0

您在注释中指出,您的服务器每秒可以在空白页面上处理2,900个请求。这非常有力地表明,这不是Web服务器本身,而是处理过程。

如果您使用的是PHP,请考虑使用APC这样的操作码缓存器。如果数据库是瓶颈,那么memcached也将为您提供帮助。


如果70 rps足够,则无需特别担心数字。
奥拉维尔Waage

0

将站点投入使用后,您还可以查看mod_top 1,它将为您提供Apache当前负载的实时视图。我自己没有安装它,但是它肯定比标准Apache服务器状态包含更多信息和更好的负载分解。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.