`

自己玩的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,高德地图测试demo

    【标题】"高德地图测试demo"涉及到的是一个基于高德地图API的示例项目,目的是展示如何在实际应用中集成和使用高德地图服务。这个项目可能包含了地图的加载、定位、标记、路线规划等功能的实现,为开发者提供了一个...

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

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

    Java springboot项目demo 用于nginx服务部署Java项目功能的测试项目

    Java springboot项目demo 用于nginx服务部署Java项目功能的测试项目 Java springboot项目demo 用于nginx服务部署Java项目功能的测试项目 Java springboot项目demo 用于nginx服务部署Java项目功能的测试项目 Java ...

    WebRTC Demo(测试通过)

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

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

    springboot项目前后端完整demo

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

    clientDEMO clientdemo调试软件

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

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

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

    OpenCvSharp测试程序DEMO

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

    自己的做的demo

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

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

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

    用于测试WiFi的demo

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

    maven 模块化项目demo

    通过这个“maven 模块化项目demo”,开发者可以学习如何划分项目结构,如何配置POM文件,以及如何利用Maven管理多模块项目。这有助于提升开发效率,降低维护成本,同时便于团队协作,因为每个人都只需要关注自己负责...

    java SIP 测试demo 可运行,有源代码

    Java SIP(Session Initiation Protocol)测试DEMO是一个用于实现VoIP(Voice over Internet Protocol)通信的应用程序示例,它展示了如何在Java环境中使用SIP协议进行实时通信,如语音通话和视频聊天。这个DEMO是可...

    构建一个fastdfs测试demo项目源码.zip

    构建一个fastdfs测试demo项目源码.zip构建一个fastdfs测试demo项目源码.zip构建一个fastdfs测试demo项目源码.zip构建一个fastdfs测试demo项目源码.zip构建一个fastdfs测试demo项目源码.zip构建一个fastdfs测试demo...

    springboot项目demo

    承接我的上一篇博客《springboot项目部署到tomcat容器》,这是完整的demo代码,包括pom文件中依赖的引入,mybatis的配置,日志的配置,mybatis自动生成代码的配置,部署到tomcat的配置。 还有各种接口返回:String...

    Oracle数据库直连测试demo

    Oracle数据库直连测试DEMO详解 Oracle数据库是全球广泛使用的大型关系型数据库系统之一,它在企业级应用中扮演着核心角色。对于开发者而言,能够直接连接到Oracle数据库进行数据操作是必要的技能。本DEMO提供了无需...

Global site tag (gtag.js) - Google Analytics