如何限制Apache(IHS)和WebSphere中的simulataneous用户会话?

限制高stream量时段使用Apache(IHS / 2.0.42)和WebSphere(5.1)的同时用户会话数量的最佳方法是什么?

期望的解决scheme应限制用户,并向那些无法访问网站的用户提供一个解释当前交通状况的HTML页面,并要求他们返回。 那些进入网站的用户应该被允许自由浏览,直到他们closures浏览器或者他们的会话过期。

该架构是3层(独立的Web,应用程序和数据库服务器),每层都有多个服务器。 目前,我们的应用程序和数据库服务器正在被stream量征税,而Web服务器对stream量保持强大。

不幸的是,这很难做到,因为这很可能是你的瓶颈。 开箱即用的Apache一次最多可以处理256个连接。 这包括您的代理Websphere数据,以及您的静态文件直接从Apache发送。 你会被压制客户端可以使用多less个单独的连接。

有几件事情可以增加Apache可以支持的连接数,例如切换到mod_worker_mpm可能会有所帮助。

服务一个清晰的“服务器重载”页面的困难将来到您的服务器过载。 也就是说,当事情好的时候,你不想浪费资源来计算活动会话等等。而当事情进展得不好的时候,你想做的最后一件事就是增加更多的负载到你的服务器上进行昂贵的计算。

由于http是面向请求而不是面向会话的,所以不可能为已经有会话的人保留连接。 也就是说,如果他们不能build立连接,因为你的Web服务器超负荷,那么他们的会话不会得到任何优先级。

说了这么多,我推荐几件事情:

  • mod_worker_mpm(除非你使用php,我不认为你是)
  • 准备好调整你的apache和websphereconfiguration。 我没有很多websphere的经验,但是你必须确保它能够处理和apache一样多的连接,所以它不会成为下一个瓶颈
  • 用自定义的replace标准的ErrorDocument ,特别是502和503
  • 注意你的apache错误日志中有关最大客户端耗尽的警告
  • 密切关注你的服务器内存,Apache有一个趋势,产生许多许多进程,这可以很快让你的服务器交换,就在你不需要的地步。

如果没有任何帮助,我会考虑以下

  • 切换到一个单线程的Web服务器,有几个可供select,大多数也支持一些IP连接限制,这可能是有用的
  • 如果apache只是作为一个代理服务器,可以考虑一下HAProxy,它可以更好地处理大量的代理连接
  • 准备好调整您的应用程序在负载下更高效