原文链接:
该文使用JMeter和Yourkit工具对petclinic程序进行了压力测试和性能监测。
分为5个步骤,逐步优化了该程序的各个方面。
1、优化界面组件(Dandelion,标签库用于显示HTML表格,会带来内存问题)
2、删除HTTP会话中的数据
3、消除JVM程序阻塞(数据库连接池Commons DBCP -> tomcat-jdbc)
4、调整持久层(JDBC->JPA+延迟加载+Open Session In View Pattern)
5、添加ehcache缓存
性能从最初的548 req/sec(占用1G内存),到1225 req/sec(占用128M内存),
性能的提高主要在启用Tomcat的非阻塞式IO连接器,连接池的改变以及缓存的处理。