基于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,内存使用情况,一切良好。

 

你可能感兴趣的:(tomcat)