在Windows上,我通过AJP将Apache2连接到Tomcat7。
有没有什么configuration可以抑制通信?
这是我的workers.properties
worker.list=node1 worker.node1.port=8009 worker.node1.host=127.0.0.1 worker.node1.type=ajp13
这是我的httpd.conf:
<VirtualHost 127.0.0.1:80> JkMount /* node1 </VirtualHost>
我们需要在企业ajax应用程序中testing上传进度条和asynchronous请求。
mod_bw 不能与JkMount一起使用。
据我所知,AJP既不在Apache上,也不在Tomcat端进行限制,而是试图尽可能快地在层之间传递请求。
这里有一些想法:
可以设定工人的连接限制,当工人达到连接限制时,工人不会接受更多的连接,以避免饱和和超负荷。
可以引入更多的后端主机和平衡员工,以增加容量。
人们可以使用自定义filter来限制Tomcat中的带宽,这将是一种编码解决scheme。
可以使用http连接器而不是AJP来使用压缩选项,并可能通过相同的连接提高吞吐量。
可以引入networking级别的带宽控制来“节制”来自外部的AJP连接吞吐量。 在Linux中,这可以使用iptables –limit和–limit-burst指令本地完成。 据我所知,Windows却缺less一个本地networking级别的带宽限制解决scheme。 狡猾的是有第三方附加组件提供细粒度的带宽控制,如Netlimiter和Netbalancer 。
在操作系统之外,可以通过限制器设备(如硬件负载平衡器)来运行连接,但为什么要使用AJP呢?
尽pipe无论你采用哪种方式进行限制,但是至关重要的是,你需要看到Apache和Tomcat都有能力让他们的请求队列/待办事项增长,正如人们可以想象的那样,如果请求执行得更慢,会话计数就会增加。
最后,IIS具有本地带宽限制,并且可以通过ARR模块反向代理/ URL重写到后端Tomcat。 我不知道ARR:ed连接是否可以调节,但是如果你在Windows上,可能值得一看。