`

自己玩的DEMO级项目压力测试,网络先挂。

阅读更多
     自己开发的一个小系统,做了一些功能,用朋友的机器来做客户端压力测试,一个TOMCAT 6.0放在我自己开发的机器上(2年前买的笔记本,型号ThinkPad T61),(ADSL 4MB(上传多少?512KB?)),INTEL 2.0(Duo 2),2GB内存,双硬盘,WIN XP专业版,OK。系统采用了用烂的框架:Struts2,Spring2,Hibernate3。页面使用了JSP与Struts2的标签,而非FREEMAKE这类摸板。无集群,无消息传递,无分布式数据库,无分布式环境。
     LoadRunner一启动,HTTP压力测试开启,100个虚拟用户,自定义环境,2个2个并发同时,1分30秒结束,快速递增。前期,OK,程序运转良好,虽然有连接池,但是明显访问数据库次数太多,此时就开始后悔了,没有给加上中间业务层缓存,到了后面10个并发的时候,程序明显吃不住了,多了很多异常,我还奇怪,难道我程序问题?立刻就把测试停止,看着异常,我很无语,什么怪事都有,连接池找不到?字符串截断OUT OF Bound?我晕,我在程序前面可是做了长度IF语句的检查的呀,怎么会OUT OF Bound?还有些更离奇的错误。先不管了,先看LoadRunner控制台,结果错误有一堆,打开一开,几乎都是些无法连接服务器?我一想,难道是网络问题?睹了?在看看失败的业务,很少,除了那个OUT OF Bound,别的都还算运行正常。
     后悔了,后悔了,怎么样提升性能,缓存,还是缓存,我终于意识到缓存的重要性了,立刻用RAR打开ehcache-1.2.4.jar,在用JD反编,结果发现ehcache似乎也并不复杂,断断续续的看了几个CLASS,感觉还行,在看看JIVE论坛的业务层缓存实现,在想想HIBERNATE用那该死的二级缓存缩头缩脑,load一圈,最后还没中一个,就火,索性需要缓存的,不改变的地方直接用了findByHQLCache,会改变的地方大对用了FIND,完蛋了,没有缓存,无状态到是爽了,但是访问数据库来个不停,哎哎哎,看样子还是得从缓存下手啊。
      SPRING AOP的企业级事务处理很爽,getHibernateTemplate,HibernateCallback用的到是很爽,SERVICE层事务一配置,爽。不爽的就是访问数据库的次数太多,研究,必须研究JIVE的那个业务层缓存,从设计上入手,业务层级别的缓存,多线层,设计模式的灵活运用,等等,系统才能真正的高效。
      不废话了,看书,研究,学习。
      最近许多同学说我太疯狂,其实:别人笑我太疯癫,我笑别人看不穿。
分享到:
评论

相关推荐

    压力测试Demo jmeter

    本篇将深入探讨使用Apache JMeter进行压力测试的实践方法,结合“压力测试Demo jmeter”这一主题,我们将详细解析如何通过JMeter工具进行有效的压力测试,并结合“userlist.csv”用户列表数据文件和“压力测试.jmx”...

    android 串口测试demo 代码简单 无bug 完美运行

    android 串口测试demo 代码简单 无bug 完美运行 android 串口测试demo 代码简单 无bug 完美运行 android 串口测试demo 代码简单 无bug 完美运行 android 串口测试demo 代码简单 无bug 完美运行 android 串口测试demo...

    WebRTC Demo(测试通过)

    WebRTC(Web Real-Time Communication)是一项开放的...通过学习和研究这个测试通过的Demo,开发者可以更好地理解WebRTC的实际应用,并将其应用于自己的项目中,实现类似视频会议、在线教育、远程医疗等实时通信场景。

    老化测试DEMO APK

    老化测试在IT行业中,特别是在移动设备的开发和质量控制阶段,是一种重要的测试方法。...在进行老化测试时,应结合其他测试方法,如压力测试、性能测试等,以确保设备在各种条件下都能保持高效稳定的运行。

    dubbo 简单测试DEMO

    在测试DEMO中,我们需要创建另一个项目作为服务消费者。这里,我们会引入服务提供者的依赖,并通过`<dubbo:reference>`标签引用服务。这样,我们就可以在消费者项目中像调用本地方法一样调用远程服务。 3. **注册...

    Eclipse上编译运行的Fresco库项目和FrescoDemo测试项目

    本教程将详细解释如何在Eclipse环境中编译运行Fresco库项目和FrescoDemo测试项目,这对于那些仍在使用Eclipse的开发者来说非常有价值。 首先,我们需要了解Fresco的核心特性。Fresco采用了先进的内存管理机制,包括...

    android触摸屏测试程序demo

    这个"android触摸屏测试程序demo"是一个专门用于验证和评估Android设备触摸屏功能的工具。下面我们将深入探讨Android触摸屏测试的相关知识点,并结合"EngineeringTest"这个可能的测试程序进行说明。 1. **触摸屏...

    直播拉流推流测试demo

    这个"直播拉流推流测试demo"是专为测试拉流和推流功能而设计的,它利用了Qt库和AV(Audio Video)框架,提供了一种高效、低延迟的解决方案。以下是对这个demo涉及的技术点的详细解释: 1. **RTMP协议**:RTMP(Real...

    二级分类demo

    【二级分类demo】是一个模拟京东、天猫等电商平台产品分类界面的示例项目,旨在帮助开发者快速构建类似功能。这个demo的核心在于实现一个清晰、易用的二级分类展示系统,允许用户方便地浏览和筛选不同类别下的商品。...

    music-demo测试集成demo

    在这个场景中,"music-demo测试集成demo" 提供了一个基于Vue.js框架的音乐应用示例,让我们来深入探讨这个项目。 Vue.js是一款轻量级的前端JavaScript框架,以其易学易用、灵活性高和性能优异的特点深受开发者喜爱...

    springboot项目前后端完整demo

    《SpringBoot项目前后端完整DEMO详解》 在IT领域,SpringBoot框架因其简洁的配置、快速的开发特性,已经成为企业级应用开发的首选。配合Mybatis Generator与Vue.js等前端技术,可以构建出高效、易维护的Web应用。...

    ssh电子商务demo项目

    Spring框架则是Java企业级应用的核心组件,它提供了依赖注入(DI)和面向切面编程(AOP)等功能,增强了代码的可测试性和模块化。在这个电商Demo中,Spring作为容器管理所有bean的生命周期,包括Struts2和Hibernate...

    基于Suricata简单的网络入侵检测系统demo源码+项目说明(毕业设计).zip

    【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和...基于Suricata简单的网络入侵检测系统demo源码+项目说明(毕业设计).zip

    clientDEMO clientdemo调试软件

    2. 项目调试:在项目实施阶段,开发人员可以利用clientDEMO进行网络环境的测试和调试,确保项目部署的顺利进行。 3. 教学培训:在教学或培训中,clientDEMO可以作为实践工具,让学生更好地理解和掌握网络监控和调试...

    网络游戏防沉迷实名认证系统 API Java版Demo

    网络游戏防沉迷实名认证系统 API Java版Demo是一个用于网络游戏中的重要工具,旨在限制未成年人过度游戏,保障他们的健康和学习时间。这个Demo提供了完整的接口测算代码,开发者只需替换特定的ID,即可快速接入并...

    OpenCvSharp测试程序DEMO

    综上所述,这个DEMO为学习和实践OpenCvSharp提供了良好的起点,开发者可以通过运行和修改代码,深入了解和掌握数字图像处理的各个方面,并将其应用到自己的项目中。无论是初学者还是经验丰富的开发者,都能从中受益...

    maven构建的java项目demo

    【 Maven 构建的 Java 项目 Demo 深度解析】 在软件开发中,Maven 是一个广泛应用的项目管理和综合工具,尤其对于Java开发者来说,它简化了构建、依赖管理和项目文档生成的过程。本篇文章将深入探讨 Maven 如何用于...

    自己的做的demo

    【描述】:“自己的做的demo 用做测试 有soap okhttp andBase” 描述中提到的几个关键词为我们提供了更深入的信息。首先,“用做测试”说明这个demo是为了验证某些代码或功能是否正常工作而创建的。接着,“soap”...

    Android 单元测试、Monkey、LeakCanary测试demo项目

    Android 单元测试、Monkey、LeakCanary测试demo项目 核心要点: 单元测试覆盖,提高开发、测试效率,保证底层基础类型的正确性. 测试对象: 非UI的Class都可以进行单元测试. Monkey 压力测试 配合 LeakCanary, 获取...

    用于测试WiFi的demo

    在实际应用中,开发者会基于这些基本组件构建更复杂的测试场景,例如模拟不同的网络环境,进行压力测试,或者集成到持续集成/持续部署(CI/CD)流程中,以确保每次更新后WiFi功能仍然正常工作。通过学习和分析这个...

Global site tag (gtag.js) - Google Analytics