it-swarm.cn

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

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

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

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

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

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

41
Ólafur Waage

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

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

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

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

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

45
Tim Howland

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

一个是munin,它绘制出各种图形,包括Apache实例数,连接数,可用内存,处理器使用率等等-并帮助我确定何时到达危险区域以及原因。

第二个就是Apache服务器状态页面http:// your_server/server-status?refresh = 1 ),这样我就可以查看每个连接的状态,以及在任何给定时刻有多少可用的空闲连接。

6
Brent

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

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

1
acrosman

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

0
George Hazlewood

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

如果您使用的是PHP,请考虑使用操作码缓存器,例如 [〜#〜] apc [〜#〜] 。如果数据库是瓶颈, memcached 也将为您提供帮助。

0
ceejayoz