Apache优雅重启和用户体验的影响

在生产服务器上执行Apache的graceful重启是安全的吗? 优雅的重新启动会产生什么效果?影响(如果有的话)会有什么影响? 是否会有任何不利影响(例如停工,即使是短时间)?

我已经考虑了以下资源,但是对用户的影响是什么还不清楚:

  • find'apache2'的正常运行时间
  • http://httpd.apache.org/docs/2.2/stopping.html#graceful
  • http://www.cyberciti.biz/faq/apache-making-changes-config-file-without-restarting/

在执行平稳重启时,现有的连接应该运行到正常完成,在此时他们的工作人员将终止。 新的工人应该已经开始处理新的关系。

您不应该注意到任何连接失败或页面加载缓慢,但在实践中,您可能会看到新的连接短暂队列,而configuration由主线程重新加载(我的时间不到半秒)

如果您重新启动以获取新configuration,则存在可能会导致服务器无法正常重新启动的configuration错误的风险。

如果服务器处于非正常状态,则可能无法正常重启(也许这就是为什么您正在考虑正常重启)

如果Apache服务的是静态文件,而不是像乘客那样作为前台的话,那就相当顺利。 大多数用户甚至不会注意到,那些会认为是正常的故障。 Apache将不会提供新的请求,直到旧的服务,所以你会等待,直到他们完成。 如果有人正在以68KB / s的速度下载一个500MB的文件,您可能会等待一段时间,在此期间没有其他服务正在发生。

如果Apache面向应用服务器,情况可能会非常不同。 从经验来看,用于与服务器交互的UX将会非常糟糕,直到应用程序服务器启动,加载并且caching被加热。

前面提到的优雅参数告诉httpd开始重新启动过程,首先通知所有subprocess完成当前任务。 在所有subprocess(提供http请求的subprocess)完成任务之后,它们将closures; 如果有任何subprocess当前没有处理请求,它们将立即closures。

而停止尝试立即终止所有subprocess,这可能会导致最终用户挂起。 我的偏好是优雅的 – 对您的企业级服务器来说是一个更好的select – 因为它比突然终止为客户提供服务的subprocess更友善。 许多pipe理员,特别是程序员使用停止来停止他们的服务器,往往是因为他们不知道优美的存在。

链接: https : //www.godaddy.com/garage/tech/config/how-to-restart-apache-without-rebooting-your-centos-linux-server/ 链接