Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 代理选择:mod#u Proxy#u平衡器,nginx+;代理平衡器,haproxy?_Ruby On Rails_Apache_Proxy_Solaris_Mongrel - Fatal编程技术网

Ruby on rails 代理选择:mod#u Proxy#u平衡器,nginx+;代理平衡器,haproxy?

Ruby on rails 代理选择:mod#u Proxy#u平衡器,nginx+;代理平衡器,haproxy?,ruby-on-rails,apache,proxy,solaris,mongrel,Ruby On Rails,Apache,Proxy,Solaris,Mongrel,我们正在运行一个Rails站点,使用专用加速器。我们目前使用mod proxy balancer安装Apache,代理运行该应用程序的四个混血儿 有些请求相当慢,为了防止其他请求在它们后面排队,我们正在考虑代理选项,如果有空闲的杂种狗,它会将请求定向到空闲的杂种狗 选项似乎包括: 重新编译Apache的mod_proxy_平衡器,如中所述 使用Solaris的公平代理平衡器编译nginx 为开放式Solaris编译haproxy(尽管这可能不适合SMF) 这些选择是否合理?我们遗漏了什么明显

我们正在运行一个Rails站点,使用专用加速器。我们目前使用mod proxy balancer安装Apache,代理运行该应用程序的四个混血儿

有些请求相当慢,为了防止其他请求在它们后面排队,我们正在考虑代理选项,如果有空闲的杂种狗,它会将请求定向到空闲的杂种狗

选项似乎包括:

  • 重新编译Apache的mod_proxy_平衡器,如中所述

  • 使用Solaris的公平代理平衡器编译nginx

  • 为开放式Solaris编译haproxy(尽管这可能不适合SMF)


这些选择是否合理?我们遗漏了什么明显的东西吗?我们将非常感谢您的建议。

使用Apache进行平衡有点奇怪。这当然是有能力的,但这就像用坦克购物一样


Haproxy/Nginx更适合该工作。您应该获得更高的吞吐量,同时使用更少的资源。

如果您想避免使用Apache,可以部署一个混合集群,其中包含一个可选的web服务器,如nginx或lighttpd,以及一些种类的负载平衡器,如Pound或基于硬件的解决方案


英镑对我来说很有效

我成功地使用了mod_proxy_balancer+mongrel_cluster(小流量网站)。

HAProxy为负载平衡提供了比mod_proxy_balancer、nginx和其他几乎所有软件更丰富的功能集

特别是在您的情况下,日志输出是高度可定制的,因此应该更容易确定何时、何地以及为什么会发生慢速请求

此外,还有一些不同的负载分配算法可用,还具有良好的自动故障切换功能


37Signals在Rails和HAProxy上有一个post(原始版本)。

HAProxy和SMF的唯一问题是,除非编写包装器脚本,否则无法使用它的软重启功能来实现“刷新”操作。我写得更详细一些

然而,IME haproxy在solaris上绝对是防炸弹的,我强烈推荐它。我们通过solaris 10上的一个haproxy实例每天发送几百GB到几TB的数据,到目前为止(touch wood),在2年多的运行中,我们没有遇到任何问题。

是我过去成功使用的HTTP负载平衡器。它包括一个动态缩放功能,可以帮助您解决特定问题:

动态缩放(0 | 1):启用或禁用 动态重缩放代码(默认值: 0). 如果启用,Pound将定期 尝试修改后端优先级 为了平衡反应 来自不同后端的时间。这 可以为特定的 服务

Pound很小,文档齐全,易于配置