我们有私人论坛运行vBulletin,并且我们收到了一个客户的抱怨,当他打开大量的标签时,他们无法访问他们。 他最后一次打电话,确定我们的主机已经自动阻止了他的IP地址。 在与主机打开支持票证后,他们解除了封锁,他们说已被自动阻止了太多的连接(我假设并发连接)。 他们说有546个连接。
客户正在运行IE8,并声称大约8-12个标签后,其余的“超时” – 每一次。 当然,没有其他网站有这个问题。
更新:事实certificate,Chrome(或Firefox,但我认为这是Chrome)具有相同的问题。 但歌剧似乎是罚款(我正在计算,因为它的积极的caching)。
没有直接访问电脑的任何一端,我怎么能希望解决这个问题?
gbroiles已经有一个很好的答案; 我添加了一个答案,因为这太长,不适合评论。
所有的浏览器打开多个连接,以更快地下载网站。 必须下载链接到HTML中的每个图像,CSS文件,Javascript文件等,这是并行的,以加快速度。 您可以看到Browserscope.org的“networking”选项卡上每个浏览器打开了多less个连接 。
还有两件事要注意:
实际上,如果这个用户打开10个以上的标签到一个小的VPS服务器,那么他就是在囤积资源。 我认为这是不合理的。 用户可能脾气暴躁,但他只有一套眼睛,所以他不能同时声称与所有10+页面交互。 如果服务器是一个负载很重的大型机器,那么这当然是另一回事了。
你可以做的一些事情是:
总之,您应该能够与您的托pipe合作伙伴一起解决这个问题,但首先要考虑潜在的后果。
这听起来像你的主机有一些反DOSconfiguration设置,你的客户通过同时打开多个选项卡触发它。 如果一个访问你的系统的标签打开几个同步的HTTP会话来并行下载文件,我并不感到惊讶,所以如果你的客户一次打开10个标签页,就像新的浏览器提供的那样,那么听到你的客户正在向您的服务器开放10 x个HTTP会话。
IE 8打开最多6个并发会话到相同的主机名 。
如果您将多个主机名设置为指向相同IP的CNAME(某些人喜欢设置,例如“images.example.com”,“css.example.com”和“forums.example.com”,则所有指向到相同的实际主机),你可能会让问题变得更糟,因为IE很难看到它们都是同一台机器 – 显然比较是由主机NAME而不是IP完成的。
您的客户可以通过使用不同的浏览器,使用本地caching, 修改IE安装以使用更less的同时会话 ,或者一次不加载太多的标签来降低发生这种情况的可能性。
您可以要求您的主机增加允许连接到您的networking服务器的数量,缩小检测过度使用的时间窗口,或者如果您的客户使用可预测的IP地址,则将您的客户列入白名单。
如果根据同时打开的连接数排除主机的防火墙,则可以通过确保configuration得到优化来改善情况 – 例如,最小化不必要的查询,查看使用清漆或其他types的加速器进行caching,转向在压缩,确保您允许HTTP持久连接。
这听起来像是一个难以解决的问题,如果你无法控制系统进行连接或系统限制连接。
鉴于您无法控制Web浏览器或服务器,您有两个选项。
1)通过把网站放在你有更多控制权的地方来控制服务器。 这会花费你的时间和金钱,但它会为你赢得尽可能多的控制,你愿意支付。 Rackspace云服务器,推荐提供商提供的VPS或者高品质的共享主机在这里将会有很长的路要走。 你也可以使用托pipe论坛的解决scheme,你不会得到太多的控制权,但你会付钱给其他人担心这样的事情。
2)减less要求的数量。 你可以做到这一点,没有多个CSS或JS文件,减less图像的数量,使用CSS的精灵,并最终使用CDN(或只是一个单独的机器)托pipe尽可能多的外部图像,尽可能的JavaScript和CSS。 你需要能够对你的论坛软件进行相当严密的控制,而且我从来没有用vBulletin开发过,但它肯定是可行的 – 至less部分是可行的。