• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

一次数据库变慢的测试及优化

发布: 2008-7-15 17:35 | 作者: 网络转载 | 来源: 网络转载 | 查看: 48次 | 进入软件测试论坛讨论

领测软件测试网


javascript:resizepic(this)" width="433" border="0" height="339">

搭建测试环境的示意图

鲍勃推动的新订单程序上线后,系统变慢。董事会担心因此影响生意和声誉。鲍勃费尽周折查出原因在后台数据库,然而在测试环境下却没有什么不正常的。鲍勃最终能解决系统变慢的问题吗?

在鲍勃的推动下,公司的订单系统经历了一个非常快速的开发流程,很快就集成到在线店面中去了。不久,他发现,销售系统的运行有些异常:查询每条在线订单的时候,前台Web服务器从后台数据库中读取数据的时间徒然上升,而且容易出错,响应客户请求方面也显得缓慢。

与此同时,当Mira(鲍勃的新同事)开始为电子商务程序更新模块时,系统终于不堪重负,倒下了。鲍勃和Mira感到了压力:董事会担心,因为系统缓慢,一些用户会散播谣言,使公司的信誉度下降,以至会影响上市的进度。

为什么我们把系统放在生产网络中,大家都用得很好的时候,系统却变慢了?鲍勃想改变这个系统越用越慢的情况,他该如何做呢?

根源在后台数据库

由于鲍勃曾经管理过比较复杂的网络系统,他知道,用户反映系统出现故障时,一步一步去确定系统的各个环节是否有问题非常麻烦,有很多工作要做:检查交换机和路由器,Ping操作系统,检查数据库服务器,检查数据库是否正常(如日志已满),检查IIS及App Pool是否异常,检查自定义的Socket程序是否正常等等……

鲍勃订购了System Center Operation Manager 2007 ,这样可以通过自定义分布式应用程序,把所有应用程序整合在一起,系统会自动监控每台服务器的工作环节。如果有问题,系统会及时让整个工作小组的开发和维护人员同时收到通知。但时间紧迫,董事会并不允许他等到这个新产品上线。

在确定排除了Web服务器CPU和内存可能存在的瓶颈之后,针对Web服务器上的IIS 6.0 ,鲍勃要求开发小组改写了三个Monitor脚本,其中使用两个Monitor脚本收集系统信息:IIsmDyn.js和IIsmStat.js。以IIsmDyn.js脚本为例,这个脚本可以检索系统性能信息和系统事件信息,这样可以避免维护人员通过手工访问性能监视器或事件查看器。该脚本会检索来自以下源头的事件查看器条目:WAS(Web 管理服务)、W3CTRS(World Wide Web 计数器)、W3SVC(World Wide Web 发布)等。

工作小组重新利用压力测试软件对Web服务器上的静态页面进行测试。监控脚本在Web服务器上布控了3天零19个小时,几次测试的结果都表明,每台服务器的处理能力都维持在每秒80.20次请求的级别上,CPU的利用率约为65%左右,这相当于2100~2500名并发访问用户的情况。但是监控脚本中并没有直接提供警告的信息,人们带着怀疑的心理对后台数据库进行性能测试。刚一开始,服务器就缓慢下来,鲍勃和Mira的眼睛都盯在后台数据库服务器上了。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

TAG: 数据库

21/212>

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网