近期使用springmvc搞了个小项目,整体技术应用包括:mysql 5.6数据库,springmvc+mybatis+dbcp框架,开发效率有多爽就不提了,说说部署后的并发支持情况:
1.业务服务器采用centos 6.3 64位 linux,使用tomcat7作为jee容器,针对tomcat 调优的地方就两处,修改如下:
把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次每秒的请求没有问题。