用apache,当KeepAliveclosures时减lessMaxClients是合理的吗? 目前,MaxClients被设置为150,这是mpm-worker的默认值。
谢谢!
使用MaxClients停止交换你的服务器..这通常是我如何处理它。
我试着弄清楚每个apache进程大概有多大,然后弄清楚我能合理地适应内存的多less – 这是我的MaxClients设置。
如果您的网站受到超过MaxClients请求的抨击,您不应该最终交换。 额外的客户端将坐在套接字队列中,直到工作者变得可用。 如果时间太长,服务器将超时。 如果队列太长,他们会被拒绝连接。
如果您将MaxClients设置得太高,您的networking服务器将启动抖动和交换。 发生这种情况时,每个请求将花费更长的时间来处理,最终会导致问题复杂化。
除非您遇到任何问题,否则我几乎没有理由降低MaxClients。 如果有的话,如果你得到很多的stream量,你通常会从默认值提高它。
在你的设置中,nginx正在处理所有的最终用户连接,Apache基本上是一个应用服务器。 只要你有足够的线程来处理请求,你应该没问题。 如果你需要其他许多的话,线程只能增长到150,如果你保留了默认值,它将从MinSpareServers 5开始。 由于它是一个四核心的机器,32个左右的线程可能是你需要的最多的线程,尽pipe这取决于Apache在你的后端等待时发生了多less延迟或阻塞。
总而言之,我可能会离开MaxClients,并确保StartServers是25(或任何可以支持您的正常负载),而不是5,以便您的服务器一旦准备好处理生产stream量。 然后,我会提醒线程超过50或任何似乎“太高”为您的平常负载,因为这可能表明performance不佳的后端或攻击您的网站。
编辑:不知道为什么我假设你有线程,但它也是一样的过程。
将MaxClients设置为恰好低于您的计算机将耗尽RAM的级别的值(假设它是专用Web服务器)
如果您不希望有大量stream量,请确保您的监控系统正在检查运行apaches的数量。 如果它变高,试着找出原因。
通常情况下,对于典型的高stream量站点,通常应该开启Alive,并且设置为非常快的时间。