Web Services 应用程序效能调教本文关键字 转贴文档 广告 Web Services 应用程序效能调教
响应速度与延展性是在这个 IT 世代是决定应用程序成功或失败的关键。效能不佳的应用程序会造成企业营利上的损失,包括降低员工的生产力、增加开发与硬件成本、损害客户关系等等严重的问题。不管对程序开发者或者系统管理者来说,应用程序效能调教一直是心中永远的痛。对 Web Service 的开发者来说,这个问题更加严重。Web Services,包括 Web 接口的应用程序与在服务导向架构 (SOA) 中扮演重要角色的 Web Service,必须面对 Internet 上突然暴增的要求数量,更凸显了应用程序效能管理的重要性。但是对开发人员来说,传统的开发流程从使用者需求开始,到测试与上线为止,几乎把所有的时间放在如何把使用者的功能需求开发出来、和程序臭虫 (Bug) 搏斗以及赶在产品上市前完成这几件项目上,至于效能部分往往是上线运转之后才开始面对。如何在设计规划效能良好的架构、如何开发使用资源少执行速度快的程序代码、如何测试取得应用程序的效能数据、如何部署应用程序避免硬件瓶颈、如何持续侦测管控上线后的效能状况与问题一直困扰着信息专业人员。 为了妥善管理 Web Service 应用程序效能,在应用程序开发过程中必须考虑下列事项: 设定效能目标: 客户的 Web 应用系统包括前端 Windows 2000 IIS 网站服务器,应用程序使用 ASP 与 Visual Basic 6.0 开发的 COM+ 组件,后端 SQL 2000 资料库存放的大量的客户与商品资料,应用程序透过 ADO 对象存取数据库。这套应用系统在离峰时间并没有太大问题,系统响应时间都在可接受范围内,问题是发生在晚上 6 到 10 点的尖峰时间中,系统常发生响应时间超过 1000 秒、IIS 500 内部错误、IIS 500.13 Server too busy 等问题造成使用者抱怨不断。 在开始执行效能调教步骤,先收集网络、系统、平台、应用程序相关效能数据。在网络、系统与平台这部分使用Windows 2000 内建的效能工具来收集效能信息,共收集下列效能项目与对象:
分析收集到的效能信息发现,Web Server 在晚上 7 点到 11 点的尖峰期间 ASP/Request Queued 值高达 71,并且超过 20 以上的时间持续5分钟以上,表示 ASP 程序有执行时间过长的问题。数据库服务器在尖峰时间 PhysicalDisk\Current Disk Queue 最大值 117,且平均值超过 16,表示硬盘 I/O 速度不够快;SQL Server\Table Lock Wait Time 最大值 1328 秒而且不只一次,表示 SQL 有 Lock/Block 问题;SQL Server\Full Scan/sec 最大值 1108 平均值 34,表示对数据库的查询没有使用索引,由于效能资料发现 ASP/Request Queued 值很高,表示 ASP 程序有执行过长的问题。为了找出是哪些 ASP 程序有问题,我们可以透过分析 IIS Log 来发现。在使用 IIS Log 来找出执行时间过长的问题时,首先我们必须先增加 IIS Log 的纪录字段包含 Time Taken 字段,这个字段存放 ASP 程序在服务器端的执行时间。
由于 IIS Log 的大小十分庞大,必须使用工具来分析。我选用的工具是 SQL Server DTS + OLAP + Excel 数据透视表来进行分析。首先先使用 SQL DTS 将 IIS Log 资料汇入数据库,接着建立 OLAP Cube,在使用 Excel 数据透视表来进行分析的工作,很快就能所订执行时间过长的 ASP 程序与发生问题时间与错误类型
透过找出发生问题的 ASP 程序并分析 ASP 程序执行时间花费过长的部分进行效能调教,可以改善发生问题最严重的程序,接着在收集效能资料继续找出造成效能问题的瓶颈家以改善。根据 80/20 法则,80% 的效能问题是由 20% 的程序造成,找过几轮后就可以发现 Web 应用程序的效能显著改善,减少开发与管理者的压力并且让使用者能更顺利的完成每日工作,提高生产效率。 以上是针对 Web Service 应用程序效能调教方法简介与案例介绍,希望能让您更了解如何来进行效能调教的工作。
如果您希望与本文章的作者或其所在机构,进一步交流,请联系:畅享网 姜小姐 jill.jiang@amt.com.cn | 021-51096826-112 | 在线联系 |
|
|
|