性能小组

来源:互联网 发布:网络编程用什么语言 编辑:程序博客网 时间:2024/04/29 16:03

        06年初,因为产品性能差,客户抱怨多。因此公司决定临时成立一个性能小组,针对产品做一些有调整。那个小组是由4位开发和我1位测试人员组成。程序是.NET开发的。

      我们小组开始研究和测试内容如下:1)内存溢出问题,查看session大小 2)一些基础页面测试,比如grid,tree等 3)用Daily Build做每日构件 4)数据库监视spotlight 5)应用loadrunner测试  6)修改程序数据库连接字符串, MaxPool,MinPool来测试。 根据我们测试的结果:1)最大的问题是viewstate太大 2)SQL语句太负责,因为我们的SQL语句都是自动生成的。但是这些问题都是架构方面的,改动基本是不可能的。

     1个月,迫于客户压力。性能小组就直接搬到客户那上班去了。第一天,发现有SQL直接就写错了,导致大数据量查询的时候,CPU就100%。当天修改那SQL语句,并对ORACLE的内存结构从新分配了一下(其实那内存调整基本没什么作用)。第二天,CPU已经稳定,但速度依然很慢。就修改了数据库执行方式到CBO,并分析了整个schma. 第三天,发现有的页面很快,有的切很慢。分析后发现原来用的in连接的地方很慢,因为我们in部门的时候,往往是几百个部门。因此修改所有的in到like方式。第四天,发现部门树加载很慢,修改部门树显示方式,改成逐层显示,修改成权限后交验。就这样4天后,就糊弄客户,回家了。性能小组也解散了。

    后感:对那产品来说,数据库和页面大小是最大的问题,但架构方面的,要修改的话,只能重新写整个系统了。另外,性能调优是很复杂的东西,先分析瓶颈,再修改。不停的测试出新的瓶颈。这次,只能算是数据库调优!

原创粉丝点击