我正在使用 HAProxy 对我的两个 tomcat 后端服务器上的传入请求进行负载平衡。在配置文件中,当我指定 HAProxy 侦听安装了 HAProxy 的同一台机器时,一切都很好,它开始像魅力一样工作。我需要 HAProxy 来侦听另一台机器上的虚拟 IP(以便我可以安装另一个 LB 作为故障转移),但是当我配置 HAProxy 这样做时,我在启动 HAProxy 时收到此错误:
无法为代理 http_proxy 绑定套接字。中止。
这是我的配置文件:
global
maxconn 4096 # Total Max Connections. This is dependent on ulimit
daemon
nbproc 4
defaults
mode http
clitimeout 60000
srvtimeout 30000
contimeout 4000
option httpclose # Disable Keepalive
listen http_proxy 10.0.5.99:80 #the virtual IP I want to listen to
mode http
stats enable
stats auth xxx:xxx
balance source # Load Balancing algorithm
option httpchk
option forwardfor # …Run Code Online (Sandbox Code Playgroud) 我得到了一个运行 Java WebApp (Tomcat6+Hibernate+MySQL+Struts2) 的 CentOS 服务器。
通常 cpu 使用率约为 10%,但有时突然达到 100% 并且应用程序冻结。导致这种情况的进程是 java 命令,然后必须重新启动服务器才能使事情正常。这完全不规则地发生,因此不太可能是应用程序错误。
这是正常情况下的顶级命令:
top - 12:50:35 up 21 min, 1 user, load average: 0.13, 0.18, 0.21
Mem: 8300688k total, 836232k used, 7464456k free, 22168k buffers
Swap: 16779884k total, 0k used, 16779884k free, 309080k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ SWAP TIME CODE DATA nFLT COMMAND
3292 tomcat 18 0 1382m 415m 10m S 11.0 5.1 2:55.45 967m 2:55 36 1.3g 537 …Run Code Online (Sandbox Code Playgroud)