Apache2 Reload 事件的副作用

BPa*_*ker 8 apache-2.2

我想知道如果重新配置 apache2 服务器然后发出 /etc/init.d/apache2 reload 命令,外部客户端会在相当繁忙的站点上看到什么影响?

我知道理论上当前的操作应该没有问题,但是对站点的总体影响是什么?

为了这个例子,假设我想每分钟执行一次重新加载。这会大大降低站点性能吗?

谢谢

Yan*_*nik 9

使用/etc/init.d/apache2 reload相当于正常重启。正如您所说,当前连接会在孩子死之前进行到底。当孩子们死亡时,他们会被具有新配置的新孩子取代(请参阅 apache doc 以重新启动)

在实践中,它可能会变慢一点,因为它需要一些资源来重新启动子进程、重新加载配置并关闭和打开日志文件,但这对于客户端来说几乎不明显。

至于你的例子,它可能取决于你的服务器上有多少免费资源以及日志文件和配置的大小,但在我看来它不会影响站点性能。


Rob*_*lls 3

你好,

我怀疑每分钟重新加载一个会影响您的网站性能,但这在很大程度上取决于:

  • 您的配置:您使用什么 MPM?预叉还是工人?您指定的孩子数量是多少?对于工作人员来说,每个孩子的最大线程数是多少。由于关闭的正常性质,这将影响进程必须停留的时间。
  • 人们在您的网站上做什么:他们是否下载大文件?这自然会导致会话更长,从而导致进程退出和重新启动的时间更长
  • 您正在记录的内容:这与上一点有些相关,但如果您正在记录所服务的字节,则只有在下载会话完成后才会生成日志条目。
  • 您使用的是 Apache 2.2.12 或更高版本:那么您可以指定在进程被终止并重新启动之前“优雅”工作的最长时间。

所有这些都会影响您重新加载的响应时间。我认为每分钟重新加载一次有点过多,只会降低您的网站性能。

我建议像我们一样推出新配置时将服务器 HUP 作为流程的一部分。

在重大新闻事件期间,我们看到最大流量水平为每秒 380 万次点击和每秒 700 万次点击,持续时间超过一个小时,这种配置更新方法不会影响我们的服务器。

华泰

干杯,