首先让我说我不是系统管理员,我是程序员。
最近,我们的系统管理员安装了 F5 负载均衡器。从那时起,我注意到任何时候请求超时并最终抛出 500,负载均衡器都会向我们的另一台服务器发送相同的请求。即使脚本实际上仍在运行,IIS 也会发送超时响应。如果脚本运行超过 5 分钟,即使 POST 请求也会重复。这对我来说似乎是一个潜在的问题,尤其是对于涉及客户计费的电子商务网站。
这只是我们一些运行时间较长的脚本的问题(但这是一个严重的问题)。我被告知这是预期的行为,我们必须更改我们的代码以符合要求。所以我的问题是:
HAProxy 似乎并没有保持与服务器的连接平衡。
请记住这一点:
如图所示,服务器 C 和 D 的连接似乎比其他服务器多。由于这种额外的负载,它们会继续下降并自动重新启动。

我尝试阅读 HAproxy 官方文档并进行了一些谷歌搜索,但没有发现任何有用的信息。希望这里有人可以提供帮助。
几个问题:
为什么当配置说使用 roundrobin、服务器规格相同并且没有应用权重时会出现这种情况?
什么决定了“会话”列中的“最大”子列(表示 1970、1444 等的那个)。服务器 C、D、E 在 3K 范围内,其他 2 个在 2K 以下。为什么会有差异?
如何让这一切保持平衡?
有人可以解释每一列吗?我很惊讶 HAproxy 的官方文档并没有真正解释它。
我计划添加更多 Web 应用程序服务器以支持不断增加的客户端,部署 HAproxy 和 Keepalived 以实现负载平衡和高可用性。
我的服务器使用具有以下特点:
为此原因,
题
如果有超过 60,000 个客户端设备 X 连接到服务器,我的负载平衡器或路由器将耗尽 TCP 端口。例如,扩展 20,000 个用户的最佳方法是什么?
我的服务器在 Ubuntu 服务器上运行,使用 tomcat 和 Java Servlet。
我对 Amazon Web Services 比较陌生,我正在尝试了解 Elastic Load Balancing 如何在我的 wordpress 设置上下文中工作。此外,我想就拟议的基础设施提供一些建议。
我最初提议的基础设施如下:
EC2 我当前的 EC2 (t1.micro) 正在运行 LAMP 堆栈并配置为运行 wordpress。
我想用 m1.small 实例来负载平衡,运行 t1.micro 实例的克隆。
我目前的未知数如下:
这可能是一个非常愚蠢的问题,但我认为有些问题不会相关,因为基础设施正在引用一个数据库。
最后,有没有更好的方法来设置负载平衡的基础设施?即我是否应该考虑使用 Amazon S3 来存储我的所有文件并使用 Cloudfront 作为 CDN 以确保高效运行并解决任何 EBS 文件复制问题。
非常感谢任何帮助。
劳埃德
抱歉,如果之前有人问过这个问题,但我似乎找不到太多关于它的信息。
我们将使用 HAProxy 来平衡我们的 MariaDB Galera 集群。我在这方面看到的所有文章/教程都使用 Keepalived(或类似的东西)进行主动/被动 HAProxy 设置。
有什么好的理由为什么你不应该有一个主动/主动设置?
每个 HAProxy 节点都可以有一个固定的 IP,并且都有一个浮动的 IP。在正常情况下,请求在两个 HAProxy 节点之间共享,如果一个节点宕机,另一个将使用它的浮动 IP 并处理两个 IP 下的请求。当另一个恢复时,它会再次获取其浮动 IP 和负载份额。
我很感激你对此的意见。
卢克
在CentOS 6.5上运行 nginx 1.0.15。我有三台上游服务器并且一切正常,但是当我模拟中断并关闭其中一台上游服务器时,我注意到响应时间有相当大的延迟(额外的 5-7 秒)。当我将宕机的服务器重新联机时,延迟就消失了。另外,我注意到的另一个奇怪的事情是,如果我只是在模拟中断服务器上停止 httpd 服务,响应时间是正常的,只有在服务器完全关闭时才会出现延迟。
这是我的conf:
upstream prod_example_com {
server app-a-1:51000;
server app-a-2:51000;
server app-a-3:51000;
}
server {
# link: http://wiki.nginx.org/MailCoreModule#server_name
server_name example.com www.example.com *.example.com;
#-----
# Upstream logic
#-----
set $upstream_type prod_example_com;
#-----
include include.d/common.conf;
# Configure logging
access_log /var/log/nginx/example/access/access.log access;
error_log /var/log/nginx/example/error.log error;
location / {
# link: http://wiki.nginx.org/HttpProxyModule#proxy_pass
proxy_pass http://$upstream_type$request_uri;
# link: http://wiki.nginx.org/HttpProxyModule#proxy_set_header
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
# link: http://wiki.nginx.org/HttpProxyModule#proxy_pass
proxy_pass …Run Code Online (Sandbox Code Playgroud) 我正在尝试在 centos 7 虚拟机上使用 nginx 作为负载平衡器来替换老化的 Coyote Point 硬件设备。但是,在我们的一个 web 应用程序中,我们在日志中看到频繁且持续的上游超时错误,并且客户端在使用系统时报告会话问题。
这是我们 nginx.conf 中的相关部分
user nginx;
worker_processes 4;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
upstream farm {
ip_hash;
server www1.domain.com:8080;
server www2.domain.com:8080 down;
server www3.domain.com:8080;
server www4.domain.com:8080;
}
server {
listen 192.168.1.87:80;
server_name host.domain.com;
return 301 https://$server_name$request_uri;
}
server {
listen 192.168.1.87:443 ssl;
server_name host.domain.com;
## Compression
gzip on;
gzip_buffers 16 8k;
gzip_comp_level 4;
gzip_http_version 1.0;
gzip_min_length 1280;
gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript …Run Code Online (Sandbox Code Playgroud) 对于该backup指令,Nginx 文档的说明相当简单:
将服务器标记为备份服务器。当主服务器不可用时,它将传递请求。
如果您有多个备份并且主服务器出现故障,是否将其中一个备份指定为新的主服务器怎么办?或者 Nginx 会在它们之间进行轮询吗?
语境:
我有一个主服务器和多个备份服务器,但所有连接应始终连接到同一个主服务器或备份服务器。有点像ip_hash负载平衡模式,只不过它应该为所有连接和客户端使用相同的服务器。
我在 Azure 上的负载均衡器后面有 2 个 VM。我使用分配给负载均衡器的域,通过 Let's Encrypt 在其中一台虚拟机上创建了一个新的 SSL 证书。当我通过 IP 直接连接到该 VM 时,我看到已加载证书,但我现在无法将负载均衡器流量路由到 VM,该网站无法加载。
在我在 nginx 中添加证书和规则以将 80 重定向到 HTTPS 之前,一切正常。我在负载均衡器中添加了一条新规则,将数据从 443 路由到后台池 443,并为 443 添加了一个新的健康探测,但这并没有帮助。
我读到可以使用 Azure 应用程序网关直接在负载均衡器上加载证书,但在这种情况下,我需要重新创建我的 VM 以将它们放在同一个虚拟网络中,我想避免这种情况。
是否可以使用经典负载均衡器路由 HTTPS 流量。请注意,我可以将每个 VM 设置为使用相同的证书,以便在每个 VM 中获取 HTTPS 流量。
我正在将 example.com 从外部(非 Google)托管提供商迁移到 GCP。
设置负载均衡器时,我注意到我必须将 example.com 指向负载均衡器才能验证 Google 托管证书。
我应该将 example.com 的 A 记录更改为新负载均衡器的(静态)IP - 然后它将验证。
问题是,我已经有大量流向 example.com 的流量,在 example.com 开始指向负载均衡器之后、但在验证证书之前发生的请求将生成 SSL 错误,并使用户非常不满意。
有人解决这个问题了吗?我知道有一些方法可以避免轮换证书时出现停机,但是一定有某种方法可以在不停机的情况下迁移大型站点吗?
load-balancing ssl-certificate google-compute-engine google-cloud-platform