日期:2014-05-16  浏览次数:20691 次

基于tomcat,mysql项目性能优化的几个切入点

我是做公司的框架部分,公司别的所有应用项目全基于框架开发,每个项目在实际应用中都会遇到一个性能问题,最近发觉大家都在把责任往框架上推:“框架本身并发才不到30,你说我们的项目能有多少?”,“稳定性不行啊,跑几天就死机”。。等等,不绝于耳。
???? 忍无可忍了,决定做个全面的测试,环境为mysql5+tomcat5.5,框架基于spring+hibernate+struts,测试工具为jmeter,loadruner。
????? 直接部署工程,运行jmeter,确实,不到30的并发,工程当了。。
????? 优化tomcat
????? 编辑bin目录下catalina.bat,加入以下语句
????? set JAVA_OPTS=-Xms1024m -Xmx1024m -XX:MaxNewSize=256m -XX:MaxPermSize=256m
????? 内存的设置于系统内存大小有关,一般取50%
????? 编辑conf下server.xml,
???? <Connector port="8080" maxHttpHeaderSize="8192"
?????????????? maxThreads="1000" minSpareThreads="250" maxSpareThreads="500"
?????????????? enableLookups="false" redirectPort="8443" acceptCount="1100"
?????????????? connectionTimeout="20000" disableUploadTimeout="true" />
????? 优化mysql
????? 我主要修改了一个最大连接数,修改my.ini
????? max_connections=1024
????? 优化连接池设置
jdbc.maxActive=2048
jdbc.maxIdle=1024
jdbc.minIdle=5
jdbc.maxWait=8000
jdbc.removeAbandonedTimeout=8
jdbc.removeAbandoned=true
?????? 在loadruner下设置300并发,轻松愉快,小试牛刀;接着做稳定性测试,设置300人同时在线,运行时间为无限次,到今天为止已经有36小时了,监控系统的cpu,内存使用情况,一切良好。

?