基于.NET应用系统性能优化的研究与实践
摘要:本文从程序设计优化、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应用程序设计时就要把数据库设计的性能问题考虑进去。表是数据库中最基本的元素,在进行数据库表的设计时,一般的规范化标准是第三范式。但在实际工作中,若将表按照规范拆分为多个表,查询时进行多表连接,反而降低了查询的响应时间。所以,需要根据实际情况突破规划化标准的限制来对表进行分割,保留一些冗余的列、增加派生列等来提升对各个表的查询速度。
版权声明:
1.十号范文网的资料来自互联网以及用户的投稿,用于非商业性学习目的免费阅览。
2.《基于.NET应用系统性能优化的研究与实践》一文的著作权归原作者所有,仅供学习参考,转载或引用时请保留版权信息。
3.如果本网所转载内容不慎侵犯了您的权益,请联系我们,我们将会及时删除。
本栏目阅读排行
栏目最新
- 1在农民收入调查工作动员培训会上讲话
- 22024年领导干部政治素质自评材料(完整)
- 3公司党委党建工作总结报告【完整版】
- 42024年主题教育党建调研开展情况总结
- 52024年度区妇联关于党建工作述职报告(完整)
- 6关于加强企业人才队伍建设调研与思考(完整文档)
- 72024县党员干部抓基层党建工作述职报告
- 8第二批主题教育研讨发言:时刻“以民为本”,听“实言实语”,办实事好事
- 92024关于党员干部法治信仰情况调研报告(2024年)
- 10局网络安全工作责任制落实自查报告(全文)
- 11XX国企分管领导关于党建设引领企业高质量发展研讨发言(范文推荐)
- 122024年第二批主题教育专题读书班研讨发言提纲(6)【完整版】