我如何configurationnginx服务于“服务器超载”或超出容量页面?

我有一个客户,他希望今晚能在国家电视上播放,他们只是告诉我(喜欢那个怎么样,呃?)。 我正在尝试做一些容量规划,我认为我应该尝试的一件事情是某种forms的“容量不足”页面。

这个想法是:(a)定义一个阈值,它表示“这是什么重载手段”,(b)比较每个请求的当前负载和[a],如果当前负载> = [a],(c) 503页。

事情是,我不知道这是通常所知的,所以谷歌search已经很less了。 我知道Apache的mod_qos,但是这个客户端在nginx上,我一直没有find一个相当于nginx。

任何帮助将不胜感激。 谢谢!

Nginx没有任何确切的等价物,因为它不是真的需要。 Nginx本身不会成为你的瓶颈,这一点几乎是有保证的。

但这并不是说你不会有问题。 最有可能的是你的后端将达到CPU峰值,否则你将用尽带宽来提供文件。 Nginx是一个HTTP反向代理,但它不想监视事物,我想这反映在人们为它编写的模块types中。

你基本上有两个选项可供你使用。 如果您的后端configuration正确,只允许一定程度的进程运行,这样您永远不会用完内存,并且您的CPU不会太忙,那么您可以简单地为504网关超时错误定义一个错误页面,告诉人们你已经过剩了,试着重新加载一下。

如果你做负载平衡,而你更喜欢nginx本身来限制请求,那么你可以使用第三方模块之一 ,如EyBalancer或HTTP健康检查,但我不能给他们如何处理超载的任何细节。

当系统启动失败时,这应该做你要求的: error_page 500 502 503 504 /50x.html; 只要使该50x.html页面看起来如何你喜欢。

只是有一些forms的负载平衡或故障转移,可能会更好,但添加另一个Web服务器。 如果您认为这将会更频繁地发生,那么一些云实施将会对今后的发展有好处。