如何预测Linux负载平衡器的规格?

我想build立一个SSL负载平衡器与SSL卸载粘滞会话。 我想用英镑或英镑和HAProxy做这个。 我之前没有这样做过,现在我一直想学习HAProxy和Pound。 最后我有一个小小的用例来作为我的借口弄脏我的手。

该网站是一个峰值~4Mbps吞吐量的论坛,这是很多的post,我想! 所以我不想要一个高吞吐量的设备,我更关心并发用户。

虽然我有以下疑问,

  1. 负载平衡器上存在大量工作负载,解密SSLstream量的CPU,还是用于粘滞会话的RAM高速caching会话?
  2. 从查询1开始,我有一个备用服务器,但是我怎么能把所需的服务器硬件规格与Web应用性能要求联系起来呢?

    我有一个小型的1U服务器(PowerEdge 1850),RAID1中有2x76GB 10k Ultra 320 SCSI驱动器,2个3Ghz单核至强(800Mhz总线,带有2MB二级caching)以及6个1GB的PC2-3200 400Mhz内存条。 我想用这个,但是我没有HAProxy和Pound的经验,所以我不能说这是否合适。 我会假设6GB的内存是太多看硬件负载平衡器的规格。 别人怎么看待CPU和硬盘?

这不是一个购物线程,所以不要发布适合的服务器模型。 相反,如果这不是我们所要做的,我想回到查询(1),这样我就可以构build出足够的其他东西。 我有很多服务器部署的经验,但不是这两个包。

谢谢。

HAProxy和SSL:
直接在HAProxy中的SSL支持是非常近的(仍然在Dev中,一周前公开),所以根据你的时间表,你将需要类似stunnel或nginx的东西来卸载SSL。 如果不介意尝试新的东西,这是一个howto 。

TPS,并发和吞吐量
这里的主要因素可能是每秒交易(TPS)。 所以为了预测你的负载,你需要以某种方式得到这个数字。 很可能你会想要parsing你的networking日志。 并发性实际上是您保持会话打开的时间的函数。 如果让它们保持打开一段时间,响应看起来更快,因为您不必保持重新创build会话(对于SSL来说耗时且昂贵)。 但是,你不想让事情打开太久,以至于你用尽了一堆内存。

用HAProxy估算容量:
在内存性能方面, HAProxy文档提供了一些指导:

另外请记住,一个连接包含两个8kB的缓冲区以及其他一些数据,每个build立的连接消耗大约17kB的RAM。 这意味着配备1GB RAM的中型系统如果调整得当,可以承受大约40000-50000个并发连接。

有了SSL,大部分的CPU工作都会在握手阶段进行,如果你用来处理SSL的东西可以caching生成的密钥,那么可以节省很多的CPU。 看到这篇文章了解更多的细节。

你也可以使用这个人的基准作为基准。

你必须确定基准:
最后,你将不得不进行基准testing,以确保你能够开始。 我个人的印象是,在4 Mbps你可能会没事的。