Apache2 Reload事件的副作用

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

我理论上理解目前的行动应该没有问题,但总体效果是什么?

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

谢谢

天儿真好,

我怀疑,每分钟重新加载一次会影响你的网站性能,但它将非常依赖于:

  • 你的configuration:你正在使用什么MPM? prefork或工人? 你指定的孩子数量是多less? 而在工人的情况下,每个孩子的最高线数是多less? 这将影响进程需要停留多长时间,因为closures的优雅性质。
  • 人们在你的网站上做什么:他们正在下载大文件? 这自然会导致更长的会话,因此会导致进程退出并重新启动
  • 你logging的什么:这和前面的点有些相关,但是如果你logging了服务的字节数,那么只有在下载会话完成之后才能进行日志logging。
  • 你使用的是Apache 2.2.12还是更高版本:那么你有可能在进程被终止并重新启动之前指定“优雅”的最大时间工作。

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

当我们这样推出一个新的configuration的时候,我会build议把服务器HUP作为这个过程的一部分。

在主要新闻事件中,我们已经看到了每秒380万次点击量和一秒钟700万点击量的最大stream量,而这种configuration更新的方式不会影响我们的服务器。

HTH

干杯,

使用/etc/init.d/apache2 reload相当于一个正常重启。 正如你所说,目前的联系是在孩子死亡之前结束的。 随着孩子的死亡,他们被新的configurationreplace为新的孩子(请参阅apache doc重新启动) 。

在实践中,它可能会放慢一点,因为它需要一些资源来重新启动孩子,重新加载configuration和closures和打开日志文件,但是这对客户端来说并不明显。

至于你的例子,它可能取决于你的服务器上有多less免费的资源,以及日志文件和configuration的大小,但它不会杀死我的视图中的网站性能。