这周花了不少时间把应用都从AJP改成了Proxy模式了

从理论上说,AJP模式应该性能更高一些,它使用了压缩指令。但是由于实现上不成熟,和apache的proxy方式比起来,不仅稳定性差,性能上也差不少。

在一台apache 2.2.22与jboss通讯时,开始使用AJP方式,压力测试半小时后,JBOSS竟然不响应了。但是发现系统资源却很空闲。jboss的HTTP端口可以正确工作。于是先重启apache,仍然不响应。于是把AJP方式修改为proxyPass方式再重启apache,JBOSS在没有重启的又可以正确工作了,连续压力15个小时没有问题。说明JBOSS的AJP连结

池被压爆了。

 

以下是同一硬件设备下,同一应用进行相同的压力测试,使用AJP方式和Proxy方式的不同对比,前半段AJP方式,后半段是Proxy方式。结果如下:

 

1.垃圾回收明显平缓,次数大幅降低,非堆内存占用也减少:

 

2.所需要的线程(相同压力下)数大量减少,说明原来AJP通讯阻塞下新的请求不得不多开新线程处理。

这周花了不少时间把应用都从AJP改成了Proxy模式了_第1张图片

 

3.垃圾回收不仅次数减少,而且每次回收所需的时间也减少。

这周花了不少时间把应用都从AJP改成了Proxy模式了_第2张图片

 

4.下面两张图说明TPS也有小幅上升:

 

总之,从AJP方式改为Proxy方式后,无论是稳定性还是性能都有很大的提高。

你可能感兴趣的:(apache,工作,jboss,测试,通讯)