我们目前的网站应用首页大小在130K左右,在之前的测试过程中,其百用户并发的平均响应能力在6.5秒,通过今天的性能优化大概提升两秒左右的时间,结果在5秒内,根据应用的技术及操作系统环境,已经达到最优了,但再次优化的可能性还是有的,详细信息如下:
一、操作系统:
机器名 CPU 内存 软件环境(操作系统/应用软件) 备注
应用服务器 3.07GHz*2 8GB Linux 1台应用服务器(虚拟机)
测试机 2.50GHz 4GB WIN7 1台测试机
二、应用服务器
weblogic版本:9.2.3,产品模式
优级前配置参数:
MEM_ARGS="-Xms1024m -Xmx1024m -Djava.net.preferIPv4Stack=true"
优化后配置参数:
MEM_ARGS="-Xms1536m -Xmx1536m -Xmn384M -Xss256k -Dweblogic.threadpool.MinPoolSize=60 -Dweblogic.threadpool.MaxPoolSize=180 -Djava.net.preferIPv4Stack=true"
Home>Summary of Server>server>Configuration>Tuning> Accept Backlog 修改后为100,原为默认值50
修改应用服务器所在应用服务器的openfile 连接数,使用命令ulimit -n 查看,修改前为1024,修改后为10240
修改方式为:
在/etc/security/limits.conf文件中增加:
* - nofile 102400
* - nproc 102400
重启后生效
三、应用程序
struts.properties中的参数修改:
struts.devMode = false,原为true;
四、应用程序架构说明:
架构为:spring + ibatis + struts2
所有静态页、javascript、css使用ehcache进行web缓存,并使用gzip进行文件压缩;
注:首页大小为130Kb,未读取数据库信息,但会通过后台验证session中是否有用户信息,以判断用户的登录状态。
五、测试结果
并发数 响应时间 成功事务 每秒事务 失败事务 运行时间 备注
100 6.5 5293 8.1 72 10分钟 优化前
100 5 12881 20 5 10分钟 优化后