haproxy:在高负荷下保留现有会话,为新来者提供'503'服务
尝试做标题中所说的:保持高负载下的现有会话,并为新到访客提供503消息。 问题:它工作,但会议不会持续约90秒。 目前的结果让我想知道是否有超时设置我错过了。 目的 我试图让haproxy: 当前端的会话总数低于一定的阈值时,将新会话的请求发送到后端-001。 当前端的会话总数超过该阈值时,向新会话提供503错误 即使会话数量超过阈值,也允许请求现有会话 通过这种方式,处于填写多步骤forms的访问者不会因为503错误而感到惊讶,并且新的访问者可以被告知“请稍后再来,因为我们现在真的很忙”。 build立 设置如下: {visitors} ↓ [haproxy] ↓ [rails app on unicorn served by nginx] (right now just one backend: 'backend-001') 目前的做法 为了达到上述目的,我使用下面的configuration。 这是一个非常低的限制(前端10个连接(fe_conn gt 10)),以便于testing。 为了使服务器承受一些负载,我使用httperf如下: httperf –hog –server staging.machine.tld –uri / do_some_things –wsess = 500,10,30 –rate 2 global daemon maxconn 10000 defaults mode http timeout connect […]