Articles of 负载均衡

表单身份validation在使用ARR进行负载平衡的网站中每次回传均失败

我不得不说我对这个领域是非常新的。 场景。 我有2个网站a.com和login.com(a使用此进行身份validation)因此,尝试访问a.com的未经身份validation的用户将被redirect到login.com。 现在我有一个使用ARR的服务器场,并且在服务器场中的两个不同的服务器上有完全相同的两个网站副本。 会话也存储在数据库中。 现在我的问题是我的每一个post都redirect到login.com,说我没有通过身份validation。 我检查了数据库,只有一个会话编号写在那里有人可以帮我弄清楚我做错了什么? 所有这些网站在所有服务器中都具有相同的应用程序ID

lvs与NAT路由 – 可怕的performance一个真正的服务器

我有一个LVS设置与NAT路由和两个真实的服务器(作为一个FYI,我们只路由http在TCP端口80)。 目前对真实服务器A的请求响应很好,页面加载时间为3-4秒。 然而,真正的服务器B的请求是非常缓慢的页面加载时间超过5分钟。 现在,有一天,在真正的服务器B的请求在可接受的时间范围内加载的情况正好相反,但对服务器A的请求却很慢。 在任何一种情况下,直接向真实服务器请求绕过负载blancer响应就好了。 只有通过负载均衡器的请求发生问题,并且只向这两个真实服务器中的一个请求。 作为另一个FYI,LVS服务器运行CentOS 6.3,默认发行版本为lvs。 任何人都可以给我一些build议,在哪里寻找可能造成这种情况? 如果需要,我会很乐意提供有关我的configuration的任何细节。

Apache平衡器,内部IP的工作人员

我打算使用apaches mod_proxy和mod_proxy_balancer为我们的网站之一构build我的第一个平衡器。 没有太多的外部IP,我正在考虑使用每台机器的内部IP,但我不能决定这是否是一个很好的解决方法! 它会不够快? 这是一个可用或不可以?

Apache作为负载均衡器 – 强制中断连接

我已经通过mod_proxy和mod_proxy_balancer设置了Apache 2.2的负载平衡器。 负载平衡工作得很好,但有一种情况我找不到任何configuration选项,即,当使用到后端服务器的持久连接,当其中一个死亡(closures,崩溃等),现有的连接仍然尝试访问它。 有没有办法configurationApache的负载平衡器,以便它退出或重新创build到死的后端服务器的连接? 在LVS领域,Ldirector在Proc FS下有一个选项, /proc/sys/net/ipv4/vs/expire_quiescent_template 当这被设置persisten会话/连接一个死的后端服务器将刷新,以便下一个客户端请求,他们可以重新创build。 在Apache世界里有没有类似的东西? 非常感谢! 干杯,康斯坦丁Boyanov PS Apache以什么方式检查后端服务器的状态? 它尝试连接到一些端口或类似的东西? 如果有人可以解释一下这个问题,那将会很棒! 这是我的虚拟主机configuration文件: ServerAdmin [email protected] ServerName myapp.mysite.com DocumentRoot /srv/www/vhosts/myapp.mysite.com ErrorLog /var/log/apache2/myapp.mysite.com-error_log CustomLog /var/log/apache2/myapp.mysite.com-access_log combined HostnameLookups Off UseCanonicalName Off ServerSignature On ScriptAlias /cgi-bin/ "/srv/www/vhosts/myapp.mysite.com/cgi-bin/" <Location /balancer-manager> SetHandler balancer-manager Order Deny,Allow Deny from all Allow from all </Location> <Location /server-status> SetHandler server-status Order deny,allow […]

检查连接限制时nginx错误的IP

我有很多次出现在nginx错误日志中的以下行。 这导致网站访问者出现50倍的错误。 我们有一个具有URL language.example.com的多语言网站 [error] 25720#0: *2716 limiting connections by zone "slimits", client: 127.0.0.1, server: localhost, request: ……. 客户端总是显示为127.0.0.1,这是相当可疑的。 有一个正在使用localhost和另一个服务器的负载平衡。 上游的nginxconfiguration: upstream example.com { server 127.0.0.1:8082 weight=3 max_fails=3 fail_timeout=2; server otherserver.example.net:8082 max_fails=3 fail_timeout=2; } 现在的slimit值被设置为40 limit_conn slimits 40; 据我所知,这个限制应该是REMOTE用户应该可以打开的连接的限制。 我猜远程用户的IP地址没有正确传递给nginx。 这是网站的定义: server { listen 80 default_server; server_name localhost; allow all; } server { listen 80; […]

如何告诉uWSGI优先进程到线程进行负载均衡

我已经在具有3个CPU核心的VDS上安装了Nginx + uWSGI + Django。 uWSGI为每个进程configuration6个进程和5个线程。 现在我想告诉uWSGI使用进程进行负载平衡,直到所有进程都忙碌,然后在需要时使用线程。 看来uWSGI更喜欢线程,我还没有find任何configuration选项来改变这种行为。 第一个进程占用了100%的CPU时间,第二个占用了大约20%,另外一个进程大部分都不使用。 我们的网站收到40 r / s。 实际上,即使有3个进程没有线程,通常是处理所有的请求。 但是由于诸如locking共享资源等各种原因,请求处理会不时挂起。在这种情况下,我们有-1个进程。 用户不喜欢等待,然后再次点击链接。 因此,所有进程都会挂起,所有用户都必须等待。 我会添加更多的线程,使服务器更健壮。 但问题可能是pythonGIL。 线程不会使用所有的CPU核心。 所以多个进程在负载平衡方面效果更好。 但是,如果locking共享资源和I / O等待延迟,线程可能会有很大的帮助。 一个进程可能会做很多工作,而其中一个线程被locking。 我不想减less时间限制,直到没有其他解决scheme。 理论上可以用线程来解决这个问题,我不想给用户显示错误信息,或者让他在每个请求中等待,直到没有其他select。

多个使用JBoss集群的httpd:提供httpd HA

我有一个这样的工作configuration: +—–+ +—–+ +—–+ +—–+ | i1 | | i2 | | i3 | … | in | JBoss Cluster +–+–+ +–+–+ +–+–+ +–+–+ | | | | +———-+—–+—-+—-…—-+ | +—+—+ | httpd | +——-+ | WAN 也就是说, httpd平衡负载并为HA提供JBoss集群。 现在,我需要为httpd提供HA。 如果httpd服务器出现故障,应该使用另一个同一个作业(JBoss集群中的LB和HA)进行备份。 我不知道如何pipe理会话数据,如果两个httpd实例之间的简单HAconfiguration可以正常工作。 有没有人遇到这样的情况?

使用mod-proxy-balancer加载平衡器之间的平衡

使用Apache mod-proxy-balancer,我想平衡两个平衡器。 这可能吗? 背景: 我们正在升级我们的一些服务器堆栈,对于部署过程,我们希望通过向新服务器发送一小部分用户来缓慢地引入新堆栈。 我为旧堆栈定义了平衡器,并为新堆栈定义了平衡器。 我想要的是有一个第三平衡器,其成员是其他平衡器。 例: <Proxy balancer://oldstack> BalancerMember http://10.10.10.5 retry=30 timeout=20 route=old1 BalancerMember http://10.10.10.6 retry=30 timeout=20 route=old2 </Proxy> <Proxy balancer://newstack> BalancerMember http://10.10.10.8 retry=30 timeout=20 route=new1 BalancerMember http://10.10.10.9 retry=30 timeout=20 route=new2 </Proxy> <Proxy balancer://entrypoint> BalancerMember balancer://oldstack retry=30 timeout=20 route=old loadfactor=90 #90% BalancerMember balancer://newstack retry=30 timeout=20 route=new loadfactor=10 #10% ProxySet stickysession=ROUTEID </Proxy> 当我尝试运行这个,它抱怨[warn] proxy: […]

Coldfusion集群上的远程实例是如何工作的?

我刚刚决定在分段环境中使用ColdFusion集群来设置我的站点。 当我们转向集群环境时,我需要找出需要进行哪些代码调整。 我有两台机器安装Coldfusion服务器。 直到现在我遵循的步骤是: 在CFServer_1上,我创build了一个实例(cfinstance_1) 在CFServer_2上,我创build了另一个实例。 (cfinstance_2) 在CFServer_1上,我使用这两个实例创build了一个集群。 现在在CFServer_1上,我创build了一个指向我的代码库的IIS站点(testsite.com)。 现在在CFServer_1上,使用Webconfiguration工具将testsite.com与集群关联起来。 现在我的问题是我是否也需要在第二台服务器(CFServer_2)上设置代码库,在IIS中使用相同名称(testsite.com)创build一个站点,并将该站点与cfinstance_2关联?

负载均衡器是否应该使用TLS会话ID来引导stream量?

我的一个供应商今天通过使用TLS SessionID(由浏览器发送)来确定哪个主机将stream量导向,从而导致了中断。 由于SessionID可能会泄露隐私细节,而且越来越多的浏览器似乎正在更快地更改SessionID,所以说使用HTTPS负载平衡器的人不应该使用TLS sessionID?