小编Cer*_*era的帖子

EC2 弹性负载均衡器 DNS 和路由问题

我们正在尝试在 Amazon EC2 上运行一个相当简单的设置 - 位于 Amazon Elastic Load Balancer (ELB) 后面的几个 HTTP 服务器。

我们的域是在 Route53 中管理的,我们设置了一个指向 ELB 的 CNAME 记录。

我们遇到了一些问题,其中一些(但不是全部)位置间歇性地无法连接到负载均衡器;看来这可能是ELB的域名解析。

亚马逊支持告诉我们负载均衡器的底层弹性 IP 一直在变化,问题是一些 ISP 的 DNS 服务器不遵守 TTL。我们对这种解释并不满意,因为我们使用 Amazon 自己的 DNS 服务器从 EC2 实例以及澳大利亚本地 ISP 和 Google 的 DNS 服务器复制了该问题 ( 8.8.8.8)。

亚马逊还证实,在我们注意到某些位置出现停机期间,通过 ELB 的流量显着下降——因此问题不在于我们的端点。

有趣的是,域似乎在无法连接的服务器上解析为正确的 IP - 但尝试建立 TCP 连接失败。

附加到 ELB 的所有实例一直处于健康状态。他们都是

有谁知道我们如何更深入地诊断这个问题?有没有其他人在使用 Elastic Load Balancer 时遇到过这个问题?

谢谢,

cloud load-balancing amazon-ec2

19
推荐指数
2
解决办法
3万
查看次数

如何为 git 等工作负载获得不错的 NFS 性能?

vagrant为运行 OSX 的开发人员管理一个设置,以管理 VirtualBox 系统进行开发。

为了inotify在 linux 机器内部提供支持,我们避开了与 VirtualBox 共享目录的常用方法:相反,Virtualbox 机器公开了一个 NFS 共享,该共享安装在 OSX 中。

Git(以及相关工具,如 sourcetree)在 OSX 中的共享目录中运行。其性能极差:仅运行git status. 将一个小型存储库克隆到挂载的 NFS 驱动器可能需要几分钟(在本地驱动器上为 5-10 秒)。

显然 NFS 的性能会比直接写入本地 SSD 更差,但 NFS 只是在 Virtualbox 的虚拟专用网络接口上运行。

我运行了几个基准测试。首先:

dd if=/dev/zero of=test bs=16 count=16384
Run Code Online (Sandbox Code Playgroud)

每个结果都基于 100 个样本。

# local drive
Min. 1st Qu.  Median    Mean 3rd Qu.    Max.
0.990   1.000   1.020   1.021   1.030   1.130

# on the shared NFS drive
Min. 1st Qu.  Median    Mean 3rd Qu.    Max. …
Run Code Online (Sandbox Code Playgroud)

nfs virtualbox shared-storage vagrant

9
推荐指数
2
解决办法
8807
查看次数

php-fpm 和 nginx 的奇怪性能波动

我正在针对 Web 服务运行负载测试。这是一个运行在 php-fpm 和 nginx 上的 php 应用程序,带有 fastcgi。有一个 MySQL 后端仅用于小型读取。

我总是看到一个奇怪的模式:性能稳定并随着流量的增加而可预见地增加,但在高峰期变得不稳定:CPU 使用率不断波动。

这是我看到的性能模式(用 可视化nmon):

在此处输入图片说明

下降总是与我的负载测试工具 - locust.io - 在它完成上升到我为测试设置的峰值水平时的短暂暂停同时发生。

我的假设:在这短暂的时刻,php-fpm主人认为负载已经消失并开始杀死工人;当流量在片刻之后全面恢复时,它无法足够快地响应。

我不太明白的是为什么它永远无法完全回到它的摆动中:我看到负载均衡器后面的所有 4 个应用程序服务器无限期地出现这种波动。

这是我的 php-fpm 池配置:

[www]
user = www-data
group = www-data
listen = /var/run/php5-fpm.sock
listen.group = www-data
listen.mode = 0660
pm = dynamic
pm.max_children = 100
pm.start_servers = 40
pm.min_spare_servers = 40
pm.max_spare_servers = 100
pm.max_requests = 10000
Run Code Online (Sandbox Code Playgroud)

我已经确认这不是数据库的问题 - 在将 MySQL 读取从站的数量增加一倍后,我看到了完全相同的行为。

这是什么原因造成的?我怎样才能阻止它?

编辑:

这是一个图表,展示了我所看到的。请注意,故障率通常会在 user_count 达到峰值时出现峰值,然后逐渐回落。

user_count vs fail_ratio

php performance nginx load-testing php-fpm

6
推荐指数
1
解决办法
632
查看次数