从理论上说,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.垃圾回收明显平缓,次数大幅降低,非堆内存占用也减少:

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

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

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

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

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

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

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

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

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

相关文章:

  • 2021-06-21
  • 2021-10-23
  • 2021-09-09
  • 2021-12-04
  • 2021-09-18
  • 2021-12-25
猜你喜欢
  • 2021-08-21
  • 2021-12-15
  • 2021-07-23
  • 2022-12-23
  • 2022-01-11
  • 2021-12-20
相关资源
相似解决方案