如何处理太多的stream量

我所工作的公司有一个事件在不久的将来,我们相信会产生约3-4倍的stream量,我们过去曾经处理过的事情,我不知道应对如此巨大而突然增长的最好方法。 几个月前,我们有一个事件,当天产生了大约15000个会话,我们的系统基本上是扣人心弦的,我们的客户服务团队花了两个星期的时间来处理所有已经被丢弃或不正确完成的订单。

自那时以来,我们已经大幅增加了我们的硬件规格,但是如果我们能够处理25,000次会议而没有任何问题,我将留下深刻印象 我们已经为我们的云计算主机最大化了我们的SQL服务器,并且我们计划增加大量的Web服务器。 所以考虑到我们预计有45,000-60,000,我想知道我是否应该开始计划最糟糕的。

我的想法是,我想限制允许的连接数量,我知道我们可以处理一个较低的数字,然后从那里增加,直到我开始看到裂缝,然后保持稳定。 我想通过我们的负载平衡器做到这一点,但它似乎不支持它,这意味着我将不得不在个人服务器上configuration它。

TLDR:

这是基本的问题

  1. 是否限制stream量,防止崩溃甚至是一个有效的想法? 有好的pipe理员会这样做吗?
  2. 负载平衡器是否可以限制每个服务器的连接? 如果不是通过在每个Web服务器上限制它的最佳方法?
  3. 如果我将每个Web服务器限制为200个连接,则负载均衡器尝试发送第201个连接时会发生什么情况? 它被丢弃,还是被redirect到另一台连接较less的服务器?

首先,我会发现你的服务器限制是什么,所以你有难以处理的数字。 Apache为压力testing制定了一个基准testing工具(当然,我假设您使用的是Apache,但是其他Web服务器也有类似的工具) https://httpd.apache.org/docs/2.4/programs/ab.html

为了帮助您的系统整体,我build议您尽可能多地使用CDN。 这可以通过将静态元素的重复请求卸载到其他服务器来大大减less连接总数。

然后,优化你的caching服务器端。 清漆也许,尽pipe它很大程度上取决于你正在使用的堆栈。