网站性能测试一

在说明性能测试之前我先说明一下
系统使用SSH + mysql 开发
测试服务器centos5.6
nginx1 + tomcat6 + jdk1.6
两台发压机: centos5.6 + siege
并发用户: 一个并发可以理解为一个用户,一个并发不管向系统发了多少次请求,这些请求都在一个session范围内, 所以在内网中压力测试时并发数和应用服务器如tomcat中的session数是一致的;
在线用户: 指该用户与服务端建立起连接会话,并且会话有效时间(一般默认为30分钟)内曾向服务器发送过请求,如果在会话有效时间内没有发送过请求,那么该用户将转变成离线用户;
并发用户数是在线用户数的一个子集。 对于互联网应用一般假设并发用户数为在线用户的1/10左右, 即在线用户数有5000时, 那么并发请求数为500左右.
1. 前端时间把网站程序放到内网测试机上通过siege对系统进行负载测试
使用两台发压机;使用的脚本为:
  siege -c 70 -f url.txt -t -5m;
  文件url.txt 保存了将近60个url地址行;
  发现系统基本在140个并发情况下还能正常工作, 用每台80及以上并发时发现有错误产生, 看了下tomcat的日志基本都是取不到数据库连接的异常;所以暂定系统可以达到140个并发;

2.为了进一步提高系统并发, 把数据库连接池从DBCP改为C3P0发现并发加大时数据库连接的异常没有了, 数据库出现较多的行锁.

3.进一步优化,把测试服务器使用nginx + 双tomcat实现集群;
  把 mysql服务器的max_connections从默认的150调整为1500
  再进行压力时发现两台发压机每台200,共400并发5分钟, 系统响应慢了一点但没有出现其他错误; 由于siege在每个终端最多200并发, 所以就把每台发压机开两个终端窗口, 在每个终端上发200个并发, 共800并发, 发现系统响应明显变慢但没出现错误;

猜你喜欢

转载自fengfan2008.iteye.com/blog/1527234
今日推荐