51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 4089|回复: 8
打印 上一主题 下一主题

[求助] 请教测试系统性能、进行系统优化的问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-11-30 14:27:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近在做一个系统的性能测试,忘前辈们指点一二。公司有个系统很慢,尤其是连续操作一个多小时之后慢的要死,主管让我找出原因。
我是这样做的,先用jmeter做了个并发登录,超过19个用户就会出问题。然后使用Jprofiler查看了操作此系统时各类cpu占用情况,doFiter(权限过滤)占用了绝大部分内存,每次操作都会创建rolemodule的对象,也就是说每次操作都会进行权限过滤。然后我用sql的事件过滤器跟踪了每次操作时sql语句和存储过程占用的cpu和执行时间。暂用cpu最大的是93,Duration是375ms,不知道这个数据算不算异常呢?
我这样做可以吗?不知道前辈们在测试系统的性能时是怎么做的,因为我感觉我这样测试出来的数据没有具体的参考价值。jmeter我也是初学,只是并发了个登录,前辈们在压力测试时一般并发什么功能呢?认为有可能出现问题的功能都并发?还有jprofiler一般是如何操作的呢?我使用它时只能看到做哪个操作时创建了什么类的对象、创建了多少,占了多少空间,什么占的cpu比较多。事件探查器我也是只查看哪个语句执行时占的cpu比较多,但我还不知道占多少算是比较正常的。希望做过系统性能测试或优化方面的前辈们指点一下,谢谢了
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2010-11-30 15:55:44 | 只看该作者
怎么没有一个回答的呢??
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2010-11-30 16:34:35 | 只看该作者
我想你的目标是调优了,所以
首先确定你要调优的目标是多少? 1s?
其次定位性能问题出现的层次:应用层、中间层还是数据库层?
针对不同层用不同的方式去profiling,你说的数据不具备代表性,无法回答。
我的建议是由粗到细的分析方法,特别是你对这些工具不熟悉,即使的到数据也不知道能说明什么。
再性能问题是比较复杂的,很难一句两句能说清,如果你想请教大虾,需要详细说明环境配置信息、问题重现步骤、系统资源使用情况等。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2010-11-30 16:36:43 | 只看该作者
补充:如果你对业务系统非常熟悉,我想可以直接从数据分析,否则建议从前往后(应用-中间-数据库)排除
回复 支持 反对

使用道具 举报

  • TA的每日心情
    奋斗
    2022-5-8 19:23
  • 签到天数: 137 天

    连续签到: 1 天

    [LV.7]测试师长

    5#
    发表于 2010-11-30 23:02:07 | 只看该作者
    这类问题应该 比较好定位,因为你知道什么 操作的时候慢
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
     楼主| 发表于 2010-12-1 09:20:09 | 只看该作者
    回复 3# 大漠行者


        定位性能问题出现的层次:应用层、中间层还是数据库层.这该如何定位呢?主要是我现在对数据库、编程、硬件都是一知半解的,只是停留在表层。看了一些关于性能测试的文章,像人家说的“查看数据库CPU的占用率”“库缓存未命中率”“数据库硬解析”之类的词语我都不太明白,感觉总像是丈二的和尚。虽然用了jmeter、jprofiler、事件探查器,也只是比着操作手册做而已,根本没有灵活运用,所以找不到根本的问题。像我这种,做性能测试现在最该做什么呢?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
     楼主| 发表于 2010-12-1 09:20:47 | 只看该作者
    回复 5# msnshow


        所有的操作都很慢。连续操作一个多小时就卡死了,内存溢出
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2010-12-1 10:57:08 | 只看该作者
    回复  大漠行者


        定位性能问题出现的层次:应用层、中间层还是数据库层.这该如何定位呢?主要是我 ...
    江潭素月 发表于 2010-12-1 09:20

    你的首要任务是定位问题:
    1 查看系统资源使用情况:CPU/内存/磁盘读写 (这是最简单排除,因为这些资源使用频繁肯定导致系统性能下降)
    2.如果排除1的情况,就需要定位问题出现的层次,基本上你要测试出每一层花费的时间,从而定位消耗时间最长在哪里。
    3. 确定了哪一层,然后这对该层具体分析了: 应用层主要是开发代码逻辑了,中间层一般可能会是线程池、连接池等资源使用瓶颈,数据库层要分析sql了、缓冲池、日志读写等跟具体数据库有关。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2022-5-8 19:23
  • 签到天数: 137 天

    连续签到: 1 天

    [LV.7]测试师长

    9#
    发表于 2010-12-1 20:19:19 | 只看该作者
    回复 7# 江潭素月


        用内存分析工具
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-5-2 06:19 , Processed in 0.074175 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表