基于.NET应用系统性能优化的研究与实践

来源 :计算机光盘软件与应用 | 被引量 : 0次 | 上传用户:hua3287226
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:本文从程序设计优化、Web服务器优化、数据库服务器优化三方面综合阐述了如何对基于.NET平台的Web 应用系统进行优化的技术方法和实践经验。在系统的生命周期内做好综合优化工作,从而达到提高Web系统的性能,推迟硬件的升级,降低应用系统的开发成本的目的。
  关键词:.NET;性能优化;Web 程序;Web服务器;IIS;数据库服务器
  中图分类号:TP393.09 文献标识码:A文章编号:1007-9599 (2013) 05-0000-02
  随着技术的发展,有丰富的技术方法来开发基于网络的应用系统。作为主流的.NET平台,则作为首选的开发技术。一个好的Web应用系统,除了具备易于操作的界面,华丽的页面,更应该注重其网页检索数据的速度是否够快、是否出现数据丢失现象,是否出现乱码或者无法登陆而需重启IIS,甚至某些功能突然无法使用。而一个Web应用系统的性能表现,不仅仅是一系列的参数,而应作为应用系统的一项功能。所以在进行系统设计时,就需要把性能问题考虑进去。而不是在整个应用系统开发完毕再对其性能进行优化,这样做会付出更多的时间、成本等代价。本文将从程序设计优化、Web服务器优化、数据库服务器优化三方面来阐述Web应用系统的优化问题。
  1程序设计优化
  微软的.NET平台作为新一代的Web系统开发平台有着非常卓越的性能。但要在此基础上开发出专业水准的、符合生产标准的、受用户欢迎的Web系统,还需要开发人员从程序设计的角度在数据展示、并发控制、技术方案等多方面进行优化处理,以提高Web系統的总体性能。
  合理的数据展示方式:避免一次性从数据库中查询大量的数据进行展示,可采用分页、延迟加载等形式。
  合理控制并发数量:大数据量、长时间的处理程序,要考虑进行并发数量的控制,避免产生大量的排队、超时现象。
  合理的技术方案:大文件的上传需要考虑Web服务器的压力,采用传统的上传方式容易造成Web服务器负载过重,必须控制上传的并发量,或者采用专用的上传控件。
  有效的各层缓存:把一些页面层公用的资源,比如权限对应的URL就可以放在Application对象中,减少频繁地通过数据库访问来验证当前用户的权限信息;将底层类实例或者SQL语句通过静态变量缓存起来,每次使用时从缓存中调出即可,不用重新构建占用资源。
  合理控制会话时长:要合理设定Session 的时间,避免过长时间的会话,否则对IIS产生不必要的压力;由于系统程序上的问题不能使用ASP.Net Server,所以在WebConfigure里将Session的时间设为120(原来系统设置的是480)。
  合理的数据操作方式:根据实际测试发现update操作的效率明显不如insert,因此同样操作尽量使用完整的insert语句,而不要采用“短Insert+ update”的方式。
  Web应用系统通过从程序设计的角度进行优化,有利于系统的稳定运行,节省了成本。对于每一个系统开发人员来说,利用有限的硬件条件,提高了程序的性能,不失为明智的选择。
  2Web服务器优化
  Web服务器性能是整个Web系统的关键环节,提高Web服务器的性能也是长久以来人们一直关注的课题。实际上管理员在安装、配置IIS的时,没有对其进行优化或者配置错误;随着运行的服务种类,以及访问人数的增加,服务器原有的硬件配置已不能满足要求了,这就需要提高硬件配置。这就导致了安装缺陷和缺乏维护的问题。这里从IIS优化开始,为Web服务器进行减负。
  2.1禁止多余的Web服务扩展。对IIS进行设置时,用到什么扩展就启用什么扩展,不需要的扩展则关闭。对于Web服务器运行时用不到的扩展,它们占用了IIS资源,对Web服务器的性能有很大的影响,某些攻击者会利用这些扩展存在的漏洞对系统进行攻击,例如“所有未知CGI扩展”、“在服务器端的包含文件”等应进行关闭。
  2.2删除不必要的IIS扩展名映射。用不到的扩展名如:asa,.cer等会加重Web服务器的负担,很可能发生一定的安全隐患。所以需要根据程序的需要,把不必要的应用程序映射删除,比如.shtml,.shtm,.stm等。
  2.3取消访问记录。IIS默认开启了Web访问记录功能,这会记录下Web的访问情况。这样,大量的磁盘空间被这些记录占用,还很大程度的影响了Web服务器的性能。提升5%到8%的应用系统性能,就需要停止访问记录。所以,对于一般中小型的Web应用系统建议关闭它。
  2.4对访问流量进行限制。默认情况下IIS6.0对于访问量是没有限制的,当用户并发数超过了网络负载则会发生网络拥堵,甚至导致服务器宕机。因此需要控制Web访问的流量,来对用户的访问进行限制。
  2.5让Web负载自由伸缩。若不进行设置,IIS则对Web提供全负荷的服务,这种方式使得Web服务器有很大的负载。IIS6.0的Web园就能解决这一问题,指定用于应用程序池的工作进程的数量,就能隔离Web服务器的各个站点,使其能够自动地根据负载变化自动调节工作进程。
  2.6配置应用程序池。对于虚拟主机的一台服务器上有很多Web站点的情况,IIS则可以支持多个Web服务。若一个Web站点发生问题,则会影响到其他应用。因此,我们需要将各个应用系统进行独立,需要通过为不同的应用进程指定应用程序池的方法来解决这个问题。尤其是服务器上有多个版本的FrameWork时,应用程序池独立尤为重要。(1)创建:在IIS管理器中可新建应用程序池,也可以将现有应用程序池作为模板。(2)指派:为站点指派应用程序池。若不可指派,则创建应用程序名,然后指派网站的应用程序池。(3)回收:利用“回收”功能,可以设置如何恢复系统资源,进行IIS资源使用的灵活定制。
  2.7管理IIS日志。一般情况下IIS都是默认“启用日志记录”的,但是由于长期累积,日志文件会非常大,必然会使IIS压力过大,从而影响系统速度,所以可以对IIS日志文件进行相应的管理。
  首先选中某个站点,然后右键单击选择属性,在“网站”选项卡中,可以将“启用日志记录”勾选掉,或者点击“活动日志格式”后的属性,对日志进行进一步的设置,进入页面,在“常规”选项卡的“新日志计划”中选择最后一项,“当文件大小达到20兆”时启用新日志计划,即避免了单一日志文件过大,影响系统运行速度的情况。在“高级”选项卡中也可以进一步进行设置。
  2.8总结。通过对IIS的优化设置,Web服务器就实现了“减负“,性能将得到较大的提升。当然,只仅依靠软件设置是不能从根本上改善Web性能的。此外,还要对其进行硬件改造。只有软硬皆施才是最完美的解决方案。
  3数据库服务器优化
  应用系统的响应速度是其性能表现的一项十分重要因素。通常Web应用系统通过数据库来存储数据,利用.NET等主流技术建立于数据库的连接,从而形成动态交互的Web应用系统。其性能表现除了以上论述的程序设计、Web服务器已经软硬件配置相关外,数据库服务器也是不可忽视的。
  3.1数据库设计优化
  数据库的性能直接影响到应用程序的性能,因此在Web应用程序设计时就要把数据库设计的性能问题考虑进去。表是数据库中最基本的元素,在进行数据库表的设计时,一般的规范化标准是第三范式。但在实际工作中,若将表按照规范拆分为多个表,查询时进行多表连接,反而降低了查询的响应时间。所以,需要根据实际情况突破规划化标准的限制来对表进行分割,保留一些冗余的列、增加派生列等来提升对各个表的查询速度。
  3.2定期重建索引
  目前,應用系统的趋势就是大数据量。对于数据量比较大的表来说,要加快查询速度就要针对这些大数据量的表建立相应的索引。经过长时间应用,对数据表进行频繁的增删改查操作后,可能会导致索引失效,严重时会影响客户使用及用户体验。因而需要对大数据量的表进行索引分析、甚至重建。重建索引能够重新组织索引数据的存储,清除数据分块,从而提高系统性能。
  3.3定期清理日志
  任何数据进行增、删、改操作都会对日志产生影响,尤其是更新操作,因为更新操作会将数据先存在日志中,最后再往数据库中存,所以日志不能太大,否则也容易产生IIS过期。我们总结日志的清理办法如下:
  use master
  go
  BACKUP LOG ‘数据库名称’ with no_log
  go
  use ‘数据库名称’
  go
  DBCC SHRINKFILE(‘数据库名_log’,’500’)
  go
  3.4数据库服务器软硬件相关优化
  影响数据库性能表现的因素还来自于其所处的软硬件环境。软件方面如:操作系统的配置、存储方式、i/o调度策略等;硬件方面如:CPU的性能、内存的大小以及硬件间的相互匹配。因此,我们需要对数据库服务器进行整体优化,既有数据库本身,也包括其软硬件环境,否则很难提高数据库的性能。
  4结论
  在开发基于.NET平台的Web系统的过程中,其性能是需要考虑的问题。本文从程序设计、Web服务器、数据库服务器三方面给出了对Web应用系统进行优化的方法。开发人员在开发Web应用系统时,通过平时经验的积累和对程序的运作原理的不断认知,合理地利用ASP.NET的新特性,来提高应用程序本身的性能;并对IIS进行事先的优化配置;以及对数据库服务器进行定期的索引重建和日志清理。以达到提高Web系统的性能,推迟硬件的升级,降低应用系统的开发成本的目的。
  参考文献:
  [1]谭明佳.基于ASP.NET的Web程序优化分析[J].计算机与现代化,2005,3.
  [2]张英刚..NET平台网站架构调优实践点滴[J].程序员,2008,1.
  [3]钟小平,张金石.网络服务器配置与应用(第3版)[M].人民邮电出版社,2007,3.
  [4]萨师煊,王珊.数据库系统概论[M].北京高等教育出版社,2000.
  [作者简介]田雅(1982-),女,江苏人,中海油能源发展股份有限公司北京分公司,中级职称,本科,学士学位,研究方向:应用系统的开发与配置
  
其他文献
德育教育在我国职业技术学校教育中占有重要的地位,但由于各种原因,目前存在着诸多不足。本文通过对德育教育当前存在的主要问题及成因的分析,尝试为我国职业教育中的德育工
本文通过一个AutoCAD平面图型称钩的传统画法与快速绘图方法的对比,运用自己的绘图方法和教学经验,简要说明了AutoCAD时传统画法与快速绘图方法的差异,并在快速绘图方法中将AutoCAD矩形与倒圆的命令得以巧妙的应用,从而可以使我们绘图时简单明了且步骤更少,不易出错,速度更快。
校企合作共建实训基地,是有效实施工学交替人才培养模式的基本保障,有利于学生在校学习与企业需求之间实现零距离对接。浙江工贸职业技术学院印刷技术专业在这方面进行了有效的
摘 要:本文在阐述数据库机构的基础上,对数据库存在的安全漏洞进行了分析,并针对漏洞提出了相应的管理策略。  关键词:安全漏洞;管理策略  中图分类号:TP311.13  随着社会信息化程度的不断提高,各行各业对信息系统的依赖性越来越高,数据库作为信息系统的核心担当着重要的角色。尤其在一些对数据可靠性要求很高的行业如银行、证券、电信等,如果发生意外停机或数据丢失其损失会十分惨重。数据库作为数据资料的
虚拟现实技术在教育教学中的应用,是对教育教学工作变革的引领,也是对传统教育教学模式的巨大冲击。文章着重阐述了虚拟现实技术的相关概念、特点和理论,并对虚拟现实技术在
计算机辅助教学的快速发展并广泛应用体现了目前社会发展的一种趋势,计算机科学技术的飞速发展也对教育领域工作者提出了迫切的任务。本文通过对计算机辅助教学和云计算辅助教
当代大学生担负着社会主义发展的重任,是社会主义现代化建设事业的主要力量,他们是否具有健康人格关系到中华民族的伟大复兴.本文从当代大学生健康人格塑造的重要性的角度来
摘 要 本文从航海类专业学生应具备怎样的综合素质以及培养途径等方面进行探讨,为当代航海类专业学生综合素质培养提供参考性建议。  关键词 航海类专业 综合素质 培养途径  中图分类号:G642 文献标识码:A  海员作为一个特殊的职业,一方面需要承担重大工作责任和压力,另一方面又有其国际性和国防性的特点。职业的特殊性决定了从事航海类专业的学生需要具备较高的综合素质和过硬的心理承受能力。本文结合从事航