我正在运行一个Web服务器(apache,但我不认为确实存在差异),它向移动设备提供了大量请求(每秒数百个).服务器是纯Web服务器与J2EE应用服务器前端服务器的混合(通过AJP之类的连接).
我注意到,我经常需要增加Apache工作量以跟上请求量.当瓶颈开始发生时,我看到大量(约90%)工人忙于“写客户端”和“关闭连接”.
我明白这是正常的.考虑到客户端处于较慢的链路上,它将阻止Apache工作者,直到工作人员可以处理单个客户端请求.但我想知道是否有专用系统,h / w或s / w可以缓冲请求/和响应的流量.我听说过所有这些“流量加速”硬件,但我真的不知道从哪里开始寻找能够做到这一点的硬件.
谢谢!
既然你提到了硬件,你可能想看看像F5的BigIP这样的东西,它可以在这样的情况下产生巨大的变化.它将终止那些移动(和其他)客户端连接,假脱机
内容,并优化后端流.虽然这是昂贵的东西.
移动客户端的另一个技巧是,由于信号强度低于链路拥塞,它们经常丢失数据包.这会导致TCP / IP堆栈退避,因此数据速率可能非常糟糕. BigIP也可以帮助这样的情况,因此值得研究.
在开源方面,您可以考虑使用Nginx或其他异步I / O代理前置系统,并可能稍微缓冲这些连接.这可能是尝试的第一步 – 您可以在Nginx上启用代理缓冲,因此效果将是卸载到Nginx的连接,而不是apache和它背后的动态应用程序.
原文链接:https://www.f2er.com/html/228080.html