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

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

在生产服务器上重新启动 Apache是否安全graceful? 正常重启会造成什么影响,如果有的话会有什么影响? 会有什么不利影响吗(例如停机,即使时间很短)?

我考虑过以下资源,但仍然不清楚对用户有何影响:

答案1

执行优雅重启时,现有连接应正常完成,此时其工作线程将终止。新工作线程应已启动以处理新连接。

您不应该注意到任何连接失败或页面加载缓慢,但实际上,您可能会看到新连接在主线程重新加载配置时短暂排队(我只需要不到半秒钟)

如果您重新启动以获取新配置,则可能存在配置错误,从而阻止服务器正常重新启动。

如果服务器处于异常状态,则可能无法正常重启(也许这就是您考虑正常重启的原因)

答案2

如果 Apache 提供静态文件服务,并且不充当类似,它非常流畅。大多数用户甚至不会注意到,而那些注意到的用户会认为这是正常的故障。Apache 在处理完旧请求之前不会处理新请求,因此您将等待它们全部完成。如果有人以 68KB/s 的速度下载 500MB 的文件,您可能需要等待很长时间,在此期间不会发生其他服务。

如果 Apache 位于应用服务器前端,情况可能会大不相同。根据经验,在应用服务器启动、加载和缓存预热之前,与该服务器交互的用户体验将非常糟糕。

答案3

上述 graceful 参数告诉 httpd 开始重启过程,首先向其所有子进程发出信号,让它们完成当前任务。所有子进程(正在处理 http 请求的进程)完成任务后,它们将关闭;如果任何子进程当前没有处理请求,它们将立即关闭。

而 stop 会尝试立即终止所有子进程,这可能会让最终用户无所适从。我更喜欢 graceful — 这对于您的企业级服务器来说是更好的选择 — 因为它比突然终止为客户服务的子进程更友好。许多管理员,尤其是程序员使用 stop 来停止他们的服务器,通常是因为他们不知道 graceful 的存在。

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

相关内容