51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 28713|回复: 47
打印 上一主题 下一主题

性能调优从哪些方面入手?(2011-12-15)(获奖名单已经公布)

[复制链接]
  • TA的每日心情
    无聊
    6 小时前
  • 签到天数: 935 天

    连续签到: 2 天

    [LV.10]测试总司令

    跳转到指定楼层
    1#
    发表于 2011-11-14 10:04:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    本周的问题为“性能调优从哪些方面入手”?期望各位能踊跃的参加有丰厚的奖品等着各位哦!

    如果你也有问题想提出来和大家一起讨论,
    请点击此处>>
    说不定下期讨论的问题就是由你提出的哦,请快快参与吧!

    获奖名单

    奖项

    获奖名单

    奖励

    答案链接

    一等奖

    fatfish

    中国移动手机充值卡50元

    23#

    二等奖

    yzylion

    300论坛积分

    9#



    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    该用户从未签到

    推荐
    发表于 2011-11-14 13:23:29 | 只看该作者
    B/S架构:
    1.前段分析,如发现一个页面非常慢,先分析网络原因,再分析网页中是那些元素占用时间较长,对其进行调优;
    2.后端分析,如应用程序和数据库服务器的硬件分析,CPU,内存,磁盘IO等,这是比较好调优的地方;
    3.应用程序服务器调优,如IIS,Tomcat,Apache等,这里的调优不是去修改程序,而是选择最合适自己的服务器;数据库选择也一样;
    4.程序的调优,如SQL语句、存储过程的效率,程序执行过程中释放内存等,这些我也不太懂,希望广大同仁多多解答。
    C/S架构:
    由于C/S架构的很多往往不是Http协议,如果是Http协议的,那调优方法和B/S架构的相类似,如果不是Http协议的,前段分析就不太好调优,这点也希望大家给我解答一下,此外B/S调优的2,3,4也符合C/S
    回复 支持 1 反对 0

    使用道具 举报

    该用户从未签到

    3#
    发表于 2011-11-14 11:21:15 | 只看该作者
    沙发
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
    发表于 2011-11-14 11:27:49 | 只看该作者
    1、页面响应时间2、每秒的点击量3、资源的消耗率

    一般都是从这三个方面着手的吧
    我之前进行性能测试 是从这三个方面着手的
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 2011-11-14 12:25:14 | 只看该作者
    1 前端分析
    2 后台分析
    3 网络分析
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-9-18 10:14
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    6#
    发表于 2011-11-14 16:40:01 | 只看该作者
    B/S架构:
    1.前段分析,如发现一个页面非常慢,先分析网络原因,再分析网页中是那些元素占用时间较长,对其 ...
    mick 发表于 2011-11-14 13:23


    补充web应用:
    1、CSS和JavaScript:不规范的CSS 会对页面效率有严重影响,这个往往会被忽略。如果JavaScript 性能不足,就会造成浏览器负荷过重。
    2、网络传输:如:有些代码程序是在服务器端而不需要被传输的,而有些代码是要用Javascript 实现并在Browser 端执行的,后者会牵涉到更多http请求,可能大大增加网络传输时间。再如:我们会用SSL 协议进行传输,但是在传输时,没有考虑是不是整个网页文件都要用SSL来传输,比如图片文件就可以不用SSL,从而减少传输负载。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2011-11-14 17:09:22 | 只看该作者
    1.首先要了解性能调优,一般是当用户抱怨“太慢了”、“性能不足”、“软硬件需要升级
    了”等问题时,提供较佳的性能。但不是要解决用户所说的“这系统毁了”、“它不会工作了”等问题,这可能需要的是备援回滚、提高系统可获得性(HA high Availability)等解决方案。但就数据库系统而言,规划高可获得性的架构(如SQL Cluster、Mirroring、Log Shipping、Replication等)不会提升系统性能,还要注意是否降低了性能。
    2.要看现象,而一般观测性能问题的现象有:    系统响应速度太慢。    每秒所完成的系统输出/入低于预期。    相同的环境,但每秒钟所完成的批操作较先前少。    系统资源(如CPU、内存、硬盘或网络等)长时间处于耗尽的状态。   通常调校的目标是以用户的期望为依据,除非你的数学与信息基本功非常扎实,否则很难知道调校的极限在哪。因此,我们的目标往往是符合用户的期盼即可
    3.调校性能的第一个工作应该是建立性能的基线(baseline),所需的类型有:1)昔日系统正常运行时的数据。 2)调校前系统的各种数据。3) 用户希望达到的目标。系统响应比较慢,要知道正常是多少、慢了多少、时间差是多少、数据量多少、多少人同时上线、处理量多少等。也就是要有基线,有客观的数据,这才有好的调校基础。
    4.要考虑支出,性能调校代表着成本(cost)的支出,成本可能是实质的钱,也可能是工程师的时间与精力,用户的忍耐等待。在理想状况下,是把系统中最贵的部分发挥到极限,能够以最低的成本来发挥系统最大的性能。若是自己开发的程序,这往往代表着硬件采购是系统开发中最贵的部分,因此,会采取重新设计系统的解决方式,如数据库逻辑使用方式重新切割、查询方式大量重载、以消耗内存的方式减少对硬盘的访问等。你可能要花掉数个工程师个把月的时间,才得以将架构重新规划,程序全面重载,或许花费如此的人力成本还不如直接更新设备,但性能调校的总体成本(total cost)并不容易计算。
    5.要有目标,这些落于纸上的目标应越明确越好,若目标是 “我想要调低内存的使用率,因为它的值太高了”就不如“我想要调低某个程序开始获取内存的设置,因为它可能吃掉太多的内存,但实际没有用到这么多,而其他的应用程序没有足够的内存,导致整体系统性能不佳”。后者的描述有目标,且可以比较,因为实际调整后可以观察调低内存的程序执行起来是否有问题,整体的性能与没调整前是否有差异。
    上述只是性能调优的概括做法,对于具体的性能调优,例如B/S结构或者数据库调优,都有各自的特点,还有从各自的需求出发,有针对性的性能调优。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2011-11-15 09:55:03 | 只看该作者
    学习了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2011-11-16 18:44:00 | 只看该作者
    看了各位对于性能调优的观点,受益不少啊,我谈谈我个人的一些见解,权当拍砖引玉
    我个人觉得现在大多数的性能测试工作人员分为以下三个阶段:
    1、出了问题就看资源,资源占用如果很高,报以窃喜的心态,恩,发现了,原理是资源瓶颈
    2、资源没有出现瓶颈,通过一些技术手段分析,发现是组件的配置文件有问题,例如:server的并发策略有问题,带宽有问题,找到了线路短板性能中的短板,到了这个阶段在我看来是比较牛的测试拉
    3、以上均无问题的情况下,考虑数据结构和算法
    就我个人接触到的来说,现在大多数的人员都是在仰望第二阶段,摸索第三阶段,希望从代码级就发现出性能的问题,进行问题的发现和解决,也符合我们的bug越早发现修复的成本越低的理论。同时,也是一名性能测试工程师高薪的象征。
    那么谈完了现状,回到我们的这个话题:性能调优从哪些方面入手,个人觉得有如下几点:
    1、对于所测系统所设计到的知识领域的了解。例如:所测系统开发语言,牵涉到的中间件,web,app 两大server等的配置参数是什么意思,如何监控,分析它们的哪些数据等
    2、注重基础知识的学习和积累。例如:对于web的性能测试,对于TCP/IP原理,基本知识,数据的转发实现,交换机和路由器的带宽设置策略对性能的影响等需要了解,掌握清楚,思路清晰
    3、确定性能测试本身的有效。例如:脚本的优化,场景的设置等。因为,有些本身脚本的优化带来的执行效率的问题,往往被我们忽略,而一股脑的在那里研究是我们本身哪里出了问题
    性能测试调优是一条说简单简单,要做好不是那么容易的路,共勉~~~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2011-11-17 10:40:46 | 只看该作者
    1.首先要了解性能调优,一般是当用户抱怨“太慢了”、“性能不足”、“软硬件需要升级
    了”等问题时,提供 ...
    henry_yan 发表于 2011-11-14 17:09



       4.考虑支出非常有实际意义,如果在不改动代码的情况能提高性能这个成本比较低,所以可以优先考虑
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2011-11-17 10:57:56 | 只看该作者
    好好学习,刚开始接触,多多指教
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-1-10 09:52
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    12#
    发表于 2011-11-17 15:10:42 | 只看该作者
    这个问题很不错 越来越高端了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2011-11-17 16:03:11 | 只看该作者
    1.3/5/8秒:能在3秒反应过来,说明很好;3-5秒,不错;5-8秒,还行;8秒后很差
    2.服务器资源,是否占用率居高不下
    3.数据库容量是否不够用
    4.事务处理速度是否变慢,优化性能脚本

    暂时只想到这么点
    回复 支持 反对

    使用道具 举报

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

    连续签到: 1 天

    [LV.7]测试师长

    14#
    发表于 2011-11-17 22:10:03 | 只看该作者
    这个调优主要还是得状况来进行分析
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
    发表于 2011-11-18 14:30:45 | 只看该作者
    田口方法,计算最优用例,从而抽取个要素的最优水准,并加以印证。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
    发表于 2011-11-18 23:21:36 | 只看该作者
    愿听高手详解……
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    17#
    发表于 2011-11-19 16:29:30 | 只看该作者
    经验不多,来学习的飘过~~~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    18#
    发表于 2011-11-21 10:40:26 | 只看该作者
    关注。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    19#
    发表于 2011-11-21 11:14:48 | 只看该作者
    ,性能方面涉及比较少,过来偷师的。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    20#
    发表于 2011-11-21 11:54:31 | 只看该作者
    偶也是飘过,我觉得大家讲非常好,值得我们学习!
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-4-23 15:33 , Processed in 0.089210 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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