jwb*_*ley 4 performance load-balancing haproxy pound
我想构建一个带有 SSL 负载和粘性会话的 Linux 负载平衡器。我想用 Pound 或 Pound 和 HAProxy 来做到这一点。我以前没有这样做过,我一直想了解 HAProxy 和 Pound 有一段时间了。最后,我有一个小用例可以作为我弄脏手的借口。
该站点是一个吞吐量峰值约为 4Mbps 的论坛,我认为这是很多帖子和阅读量!所以我不想要高吞吐量的设备,我更关心并发用户。
我有以下疑问;
在查询 1 之后,我有一台我想使用的备用服务器,但是我如何将所需的服务器硬件规格与所需的 Web 应用程序性能相关联?
我有一个小型 1u 服务器(PowerEdge 1850),RAID1 中有 2x76GB 10k Ultra 320 SCSI 驱动器,2x 3Ghz 单核 Xeon(800Mhz 总线,2MB L2 缓存)和 6x 1GB PC2-3200 400Mhz RAM。我想使用它,但我没有使用 HAProxy 和 Pound 的经验,所以我不能说这是否合适。我认为 6GB 的 RAM 对硬件负载平衡器规格来说太过分了。其他人如何看待 CPU 和 HDD?
这不是一个购物线程,所以不要发布合适的服务器模型。相反,如果这不能完成任务,我想要的是返回查询 (1),以便我可以构建其他足够的东西。我在服务器部署方面有很多经验,但不是这两个包。
谢谢你。
HAProxy 和 SSL:
直接在 HAProxy 中支持 SSL 是最近的(仍在开发中,大约一周前公开),因此根据您的时间线,您将需要像 stunnel 或 nginx 这样的东西来卸载 SSL。如果不介意尝试新的东西,这里是一个HOWTO。
TPS、并发性和吞吐量:
这里的主要因素可能是每秒事务数 (TPS)。因此,为了预测您的负载,您需要以某种方式获得这个数字。您很可能希望解析您的网络日志。并发实际上是保持会话打开多长时间的函数。如果您将它们保持打开一段时间,响应似乎会更快,因为您不必继续重做会话创建(在 SSL 方面既耗时又昂贵)。但是,您不希望将事情打开的时间太长以至于用完大量内存。
Estimating Capacity with HAProxy:
当谈到内存性能时,HAProxy 文档确实提供了一些指导:
此外,请记住,一个连接包含两个缓冲区,每个缓冲区为 8kB,以及一些其他数据,导致每个已建立的连接消耗大约 17kB 的 RAM。这意味着配备 1GB RAM 的中型系统如果调整得当,可以承受大约 40000-50000 个并发连接。
使用 SSL,大部分 CPU 工作将在握手阶段进行,如果您用于处理 SSL 的内容可以缓存生成的密钥,则可以节省大量 CPU。有关更多详细信息,请参阅本文。
您也可以使用此人基准来获得一个想法作为基准。
您必须进行基准测试才能确定:
最后,您必须进行基准测试才能确定,这里有一个让您入门的参考。我个人的印象是,在 4 Mbps 时,您可能会没事。