`

Tomcat能承受的极限压力测试

阅读更多
去年做一个数字电视监测的项目,每天大约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等软硬组合,可以成倍的增加处理能力。
   测试方法和测试结论很不完善,仅供参考。不足和不对的地方,还望达人斧正。
分享到:
评论

相关推荐

    (转)ab-tomcat压力测试工具

    【标题】:“(转)ab-tomcat压力测试工具” 【描述】:这篇博客文章并未提供具体的描述,但根据标题可以推断,它可能涉及一个名为"ab"的压力测试工具在Tomcat应用服务器上的使用。"ab"是Apache HTTP服务器项目的一...

    tomcat6 单独启动做测试服务器备忘

    标题“Tomcat6单独启动做测试服务器备忘”涉及到的是如何使用Apache Tomcat 6作为独立的测试服务器。Apache Tomcat是一款开源的Java Servlet容器,主要用于运行Java Web应用程序,包括JSP和Servlet。这个备忘可能...

    tomcat7.0性能优化-挑战极限精简版

    《Tomcat7.0性能优化——挑战极限精简版》 Tomcat作为一款广泛应用的开源Java Servlet容器,其性能优化是许多开发者关注的重点。本文将深入探讨如何对Tomcat7.0进行性能优化,旨在帮助你挑战其运行效率的极限。 一...

    tomcat6.0安装版及Jsp测试方法.rar

    标题中的“tomcat6.0安装版及Jsp测试方法”表明了这个压缩包内容是关于Tomcat 6.0的安装教程以及如何在Tomcat环境下测试JSP页面的指导。Tomcat是一款广泛使用的开源Java Servlet容器,尤其适用于运行JSP和Servlet...

    Tomcat详细配置和测试

    在本文中,我们将深入探讨如何详细配置Apache Tomcat服务器并进行测试,确保配置正确无误。Tomcat是一款流行的开源Java Servlet容器,用于部署Java Web应用程序,包括JSP和Servlet。 首先,我们从基础开始,即安装...

    Tomcat安装详细配置和测试

    1、将解压后的myapp复制到安装目录下的webapps中(例:C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps) 2、打开浏览器,输入http://localhost:8080/myapp/index.jsp 看到当前时间的话说明安装...

    tomcat安装测试

    可以下载的视频,可以下载的视频,可以下载的视频可以下载的视频可以下载的视频可以下载的视频可以下载的视频可以下载的视频可以下载的视频可以下载的视频可以下载的视频可以下载的视频可以下载的视频可以下载的视频...

    Tomcat性能的测试

    1. **压力测试工具选择**:为了准确评估Tomcat的性能,我们需要使用压力测试工具模拟多用户并发访问。这些工具通常通过录制或编写脚本来重复请求页面,例如Apache Benchmark和JMeter。选择工具时,要确保它们支持Web...

    tomcat性能测试

    为了有效地进行Tomcat服务器的性能测试,需要借助专业的压力测试工具。这些工具通常通过模拟大量并发用户的访问行为,来测试服务器的响应时间和稳定性。目前市面上存在多种性能测试工具,包括开源工具如Apache ...

    tomcat连接池的配置与性能测试

    4. **压力测试**:通过增加请求量,观察系统在极限状态下的稳定性和响应速度。 5. **负载测试**:在预期的工作负载下运行系统,评估其性能和可扩展性。 不同的连接池实现有不同的优化策略,例如C3P0提供了连接测试...

    war包测试tomcat发布

    实现简单的war包输出hello world!测试windows和linux的tomcat是否安装成功。

    nginx+tomcat测试报告.doc

    Nginx作为反向代理能有效地分发请求,减轻单个Tomcat的压力,而多台Tomcat的集群则进一步增强了系统的容错能力和扩展性。在实际部署中,可以根据业务需求和硬件资源,优化Nginx和Tomcat的配置,以及调整负载均衡策略...

    tomcat极限优化

    3. 性能测试:通过工具如JMeter进行压力测试,找出性能瓶颈。 七、安全优化 1. 定期更新Tomcat版本,修复已知安全漏洞。 2. 使用SSL/TLS加密通信,保障数据传输安全。 3. 限制不必要的网络访问,如关闭未使用的端口...

    hello.war tomcat集群测试

    简单的 简单的 tomcat集群测试

    nginx+Redis+tomcat实现session共享测试代码

    "nginx+Redis+tomcat实现session共享测试代码"就是一个针对这一需求的解决方案。这个项目可能包含一个配置示例和一些测试用例,帮助开发者理解如何在Nginx反向代理服务器、Redis缓存系统以及Tomcat应用服务器之间...

    tomcat7tomcat8tomcat9

    而对于旧的项目,可能Tomcat 7就能满足需求,同时避免了升级带来的潜在问题。 总的来说,Tomcat作为一款流行的Java应用服务器,它的不同版本提供了不同的功能和优化,满足了不同阶段的开发需求。这个压缩包为用户...

    Tomcat8 session同步测试,配置好的Tomcat

    在IT行业中,尤其是在Web服务器领域,Tomcat是一个广泛使用的开源应用服务器,特别是对于运行Java Servlet和JavaServer Pages(JSP...在测试过程中,要确保所有节点都能正确识别和共享session,以提供一致的用户体验。

Global site tag (gtag.js) - Google Analytics