`
SimonLei
  • 浏览: 176757 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

老调重弹 之 性能调优

阅读更多

昨天帮一个朋友去调他们公司做的一个系统的性能。说是调了一个星期,并发量还是上不去。

到现场看了一下,是用 spring + hibernate 做到一套系统,使用了 spring 的 MVC,以及

ehcache作为缓存。感觉他们使用 hibernate 的关系太多了,很多 一对多,多对多的关系。

在没有压力的情况下,系统还算正常。只要加压,就经常出现 lazy load的 session closed

异常。而且,在压力的情况下,系统响应速度慢,应用服务器和数据库服务器的压力都很低。

 

加压使用的工具是loadrunner,分布在5台计算机上模拟vuser,并发上一两百都比较困难。

由于没有什么调优工具,只好使用 jconsole。在启动tomcat 的时候,加上了 management

的参数,然后用jconsole查看。在加压的时候,查看内存和线程等情况,发现很多线程在压力的

情况下都阻塞在使用 log4j 进行记录的地方。猜想大家都要往 log 文件里面写日志,导致了阻塞。

有可能是log4j使用的问题,我印象中log4j应该有对异步的处理,不知道是不是配置的问题。

由于时间比较紧,直接使用了quick but dirty 的方法,将log4j改成只记录error信息。

 

然后再上压力,并发500也比较轻松了,应用服务器的CPU占用率上升了,响应时间也提升了。

感觉解决了一部分的问题。当然,由于还有lazy load的异常,有些性能的东西还没有办法继续

调。于是给他们讲了一些调优思路就回家了。翻出了以前给部门同事做培训的一篇ppt,都是以

前调优的一些最佳实践。

0
0
分享到:
评论

相关推荐

    老调重弹的CSS优先级

    CSS全称为层叠样式表(Cascading Style Sheets),其作用是通过定义HTML或XML文档的外观和格式,以此控制网页的布局、颜色、字体等视觉表现。CSS的引入使得网页内容与样式设计分离,大大提高了网页开发的效率,同时...

    论文-用Visual C++显示位图 的原理与方法

    用Visual C++显示位图的原理与方法 <<电脑编程技巧与维护 >>2001年01期 王丰 <br>一、介绍 在VC++环境下显示位图并不是什么新技术,但本文仍然在此"老调重弹"的原因是:(1)这一技术十分重要,它是图像编程的...

    究竟什么是敏捷测试

    时至今日,还讨论这样一个老话题,是否感觉老调重弹?因为两年前(2010年底)时任谷歌中国测试经理的段念先生就写了一篇文章《什么是敏捷软件测试》(刊登在InfoQ网站上[1]),就已经谈到这个话题,  时至今日,还讨论...

    想要阅读100000+,首先做到这七点

    处在自媒体井喷的时代,现在还来老调重弹似乎有些晚了。但是我相信,还有很多人和我一样,有心真正的走进这个行业。初生牛犊不怕虎,既然还没走进来,不如先来谈谈个人的看法。在平台做自媒体无疑出于两个目的:一是...

    NET组件程序设计 第2版中文版.part3.rar )

    委托的老调重弹 异步调用编程模型 异步错误处理 异步事件 异步调用缺陷 同步和异步处理 第8章:多线程和并发管理 线程和多线程 组件和线程 使用线程 同步线程 自动同步 手动同步 WorkerThread包装类 同步委托 使用...

    幽默大学自我介绍精选.doc

    我的家乡历史悠久,文化丰富,所以我也特别喜欢历史,但别担心,我不会像历史一样老调重弹,如果你们想了解任何历史小故事,随时欢迎找我。 我有一个小小的爱好——烹饪。别误会,不是说我会做多少复杂的菜肴,而是...

    FPGA测试问题小结

    前一阵子做了两个FPGA工程的...发现了不少的问题,从问题报告里找了几条比较具有代表性的问题,有些问题确实很低级,但是不得不老调重弹。因为这些问题对于很多设计者来说都是共性的。希望列出来能给他人有一些的警示。

Global site tag (gtag.js) - Google Analytics