近期使用springmvc搞了个小项目,整体技术应用包括:mysql 5.6数据库,springmvc+mybatis+dbcp框架,开发效率有多爽就不提了,说说部署后的并发支持情况:

1.业务服务器采用centos 6.3 64位 linux,使用tomcat7作为jee容器,针对tomcat 调优的地方就两处,修改如下:



<Connector port="80" 
protocol="org.apache.coyote.http11.Http11NioProtocol"
connectionTimeout="20000"
enableLookups="false"



 把protocol这里改成了org.apache.coyote.http11.Http11NioProtocol,另外配置enableLookups="false"关闭了客户端dns解析查询。

 

针对linux操作系统调优的地方有:

在/etc/security/limits.conf文件中添加如下信息:
 * soft nofile 655360
 * hard nofile 655360

 

别的调整就没有了,tomcat开了访问日志记录,每秒访问数据库查询页面可以达到1800次请求/秒,响应数据在5k左右,是json数据,对于json数据来讲5k就不小了。

 

2.数据库服务器

mysql数据库服务器独立安装,使用innodb引擎,配置maxconnetions为1000,实际工作时因为有dbcp数据库缓冲池,在1000多个并发的情况下也并不会有特别多的数据库连接产生,高并发访问的单表数据量在20万左右,cpu占用差不多在15%左右,网络io在50M/s左右,理论来讲这台mysql撑起8000次每秒的请求没有问题。