去年做一个数字电视监测的项目,每天大约120万的流量,当然这个总流量意义不是很大,考量应用服务的承受能力主要看峰值压力的承受能力和持续时间。
大概测试报告如下,完整测试还包括对主体业务的影响等不方便全部列出。
背景
1.对基于web的增值业务用户访问的监测。
2.服务器硬件环境:
Dell(TM) PowerEdge(TM) 1950 Rack Mount Server
CPU PowerEdge(TM) 1950, 双核至强处理器 5120, 4MB 缓存
内存:2G
未作负载,单台服务器。
3.测试分为纯净无任务页面,带业务多线程内存操作(主机配置比较初级,监测数据缓存内存,定量存入文本,直接存数据库主机带不动)。
4.软环境:
Windows 2003
Tomcat 5.0;Tomcat Initial memry pool 设定1G(tomcat目前本版最大只能到1G启动内存)
J2SE 5
5.测试工具:
loadrunner等
测试概要
1.空页面压力测试
说明:
不带任何业务,监测页植入空页面,对tomcat单独测试。
1.1 不带业务监测2000并发测试结果:
1.1.1 模拟2000用户每秒并发访问持续20分钟后,tomcat服务内存溢出
(日志2007-03-16 15:59:52 StandardWrapperValve[jsp]: Servlet.service() for servlet jsp threw exception java.lang.OutOfMemoryError: Java heap space)
1.1.2 响应时间:(page1:3.859s,page2:3.198s,page3:2.443s,page4:3.236s)
1.1.3 实际page1\2\3\4共点击了152404次,但实际产生99890条响应。
1.2 不带业务监测1000并发测试结果:
1.2.1 1000个用户每秒并发访问持续30分钟后,tomcat服务内存溢出
1.2.2 平均响应时间(page1:3.245s,page2:3.065s,page3:2.68s,page4:2.85s)
1.2.3 实际page1\2\3\4共点击了160306次,但实际产生80000条响应。
1.2带业务监测。
1. 2000个用户浏览了10分钟后,服务器tomcat服务内存溢出。
2. 500个用户浏览了30分钟后,服务器tomcat服务内存溢出。
测试过程 CPU:1-3% 内存使用:1G,相对稳定。
参考结论:
常看到论坛有人问,要做个站日访问80万、100万Tomcat能不能承受这样的问题。其实核心还是要看峰值多大,持续多久。而且如果不是特殊应用,一个站点访问达到80万、100万完全有资金搭建更好的应用服务系统和集群负载。
1. 峰值2000并发且持续不超过10分钟,小高峰并发不超过500并发且持续不超过30分钟,正常状态并发在50PV/秒可稳定运行。
2. 日平均并发在50PV/秒,日访问432万稳定。
3. 当然如果是直接访问数据,并且有数据查询、更新、修改、删除的网站页面,这个值会大大缩减,简单测试发现大约是上面值的1/5-1/4左右。
4. 如果你的站点有比较复杂的交互设计和较频繁的数据库操作,建议采用至少两台服务器做负载,一般情况下满足60-80万的日均流量,同时峰值100PV/并发持续10分钟问题不大。当然如果这样就不得不再考虑数据库的承受能力和整体结构调整了,如果有必要还是要模拟测试。
其实考量应用服务的能力是多方面的,总之先考虑峰值及持续时间,其次考虑日均总流量。有必要时采用负载集群及weblogic等软硬组合,可以成倍的增加处理能力。
测试方法和测试结论很不完善,仅供参考。不足和不对的地方,还望达人斧正。
分享到:
相关推荐
### 压力测试报告知识点解析 #### 一、引言 ##### 1.1 编写目的 本文档旨在为中山移动营业厅系统提供一个详细的性能压力测试报告,其目的是确保系统能够在高并发环境下稳定运行。通过这次测试,我们可以评估系统在...
【LoadRunner8.1压力测试结果分析探讨】 LoadRunner是一款强大的性能测试工具,尤其在8.1版本中,它提供了全面的压力测试功能,帮助我们评估和优化应用系统的性能。压力测试的主要目标是确定系统在高负载下的稳定性...
【B2C业务后台压力测试】是针对电子商务平台后端系统的性能评估,目的是验证系统在高并发用户访问下的稳定性和可扩展性。本测试报告详细记录了各项测试内容、工具、系统需求、测试环境以及执行步骤,同时也给出了...
需要注意的是,`maxThreads`和`acceptCount`之和不应超过服务器硬件和软件的承受极限。 接着,我们讨论JVM参数的调整。JVM内存分为三个主要区域:年轻代(Young)、老年代(Old)和永久代(Permanent)。年轻代主要...
概述部分强调了性能测试的目的,即模拟真实用户操作环境,了解系统在并发用户压力下的运行状态,以及识别系统的极限承受能力。它要求开发人员提供详尽的系统环境信息,以便于构建与生产环境相似的测试环境。 2. **...
性能测试,也称为压力测试,用于评估系统在特定并发用户量下的极限性能,查找可能存在的Out of memory等问题,并检查系统配置是否合理。通常使用的工具有LoadRunner(商业)和JMeter(开源)。 然而,性能测试存在...