2010-08-18 53 views
0

我正在与服务器管理员的客户端合作,拒绝在他们的web服务器上安装monit或god来重新启动锁定或缓慢的mongrels /线程,因为他们认为应用程序应该完美地工作并且线程永远不会锁定/放慢。有没有办法主动监视Rails上的HTTP请求,如果超时请求指向另一个杂种?

不幸的是,他们的应用程序对第​​三方网络服务进行了大量调用,其中很多都很慢,而且他们的数据库严重未优化(我无法访问或推送更改此设置),因此存在大量慢速AR查询造成超时。

是否有可能主动监测HTTP请求&如果传递给慢/被锁定的杂种,然后将其重定向到活动的?

我知道这可能会产生一个缓慢的响应,但比连接超时错误要慢。

谢谢!

回答

0

您可以安装HAProxy或使用nginx作为循环负载均衡器,但实际上我建议您跳过这些并安装可用于Apache或nginx的Passenger gem,事实上Rails堆栈已经有一段时间了。你也可以在开发中运行Passenger(谷歌的文章)。我建议你坚持SysAdmin Passenger是应用程序堆栈的一部分。