写优秀的高性能web应用程序的外文及其翻译

写优秀的高性能web应用程序的外文及其翻译

ID:6233428

大小:87.00 KB

页数:14页

时间:2018-01-07

写优秀的高性能web应用程序的外文及其翻译_第1页
写优秀的高性能web应用程序的外文及其翻译_第2页
写优秀的高性能web应用程序的外文及其翻译_第3页
写优秀的高性能web应用程序的外文及其翻译_第4页
写优秀的高性能web应用程序的外文及其翻译_第5页
资源描述:

《写优秀的高性能web应用程序的外文及其翻译》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、编写优秀的高性能WEB应用程序编写Web应用程序其轻松程度令人难以置信。它是如此的容易,以至于许多开发人员不用花费多少时间来构筑其应用便能获得非常好的性能。在本文中,我将给出10个编写高性能Web应用的技巧。我的评论不仅仅局限与ASP.NET应用,因为它们只是Web应用的一个子集。本文也不是Web应用性能调整的权威指南——这方面的内容可以写成一本书。相反,本文可以被视作一个好的起点。在废寝忘食地工作之前,我常常要去攀岩。在攀岩之前,我总是要看一下指南手册中的线路并阅读以前来此一游的人留下的建议和忠告。但是,不管指南手册有多磨好,

2、在尝试一次特定的具有挑战性的攀爬之前,你都必须付诸实际的行动。同样,在你面临解决的性能问题或者营运一个高吞吐量的站点之前,你只能想方设法编写高性能Web应用程序。我们个人经验来自在微软ASP.NET团队从事底层架构程序经理,运行和管理www.asp.net,并协助架构CommunityServer过程中的经历,CommunityServer是几个有名的ASP.NET应用程序的下一个版本(它将ASP.NETForums,.Text和nGallery整合到一个平台)。我确信这些帮助过我的技巧也会对你有所裨益。你应该考虑将应用程序分离

3、成几个逻辑层。你可能听说过术语3-层(或n-层)物理体系结构。它们通常是跨进程和/或硬件对功能进行物理划分的规定的体系结构模式。当系统需要伸缩时,更多的硬件能被添加。然而,总是应该避免与进程和机器忙碌程度相关的性能问题。所以,不管什么时候,只要可能,都要在相同的应用中一起运行ASP.NET页面及其相关的组件。由于代码和层之间的边界分离,使用Web服务或远程调用将降低20%以上的性能。数据层则稍微有些不同,因为数据库通常都用专门的硬件。但是,数据库的处理成本仍然很高,因此最优化代码时,数据层的性能应该是首当其充要关注的地方。在着手

4、解决你的应用程序的性能问题之前,一定要剖析应用程序,确定问题之所在。获取关键的性能计数器值(如实现垃圾收集所花时间之百分比的性能计数器的值)对于查找应用程序在何处最耗时也是非常重要的。凭借直觉常常也能找到耗时所在。本文所描述的性能改进有两种类型:大型优化,如使用ASP.NETCache,以及不断重复进行的微型优化。这些微型优化有时很有意思。对代码的小小改动便会引起很大的动静,产生成千次的调用。对于大型优化,你可能会看到整体性能的大跳跃。而对微型优化,给定请求可能只是毫秒级的调整,但按每天的请求总数计算,其结果的改进可能是巨大的。

5、数据层的性能当调整某个应用程序的性能时,有一个简单的试金石,你可以用它按先后次序:检查代码是否存取数据库?如果是,多长时间存取一次?注意相同的测试也可以被应用于使用Web服务或远程调用的代码,但我们本文中不涉及这方面内容。如果在特定的代码流程中必须具有对数据库的请求以及要考察其它方面,如:想对字符串处理进行优先优化,那么暂且把它放一放,先按照上面定好的优先次序来做。除非你有异乎寻常的性能问题,否则你的时间应该用在尝试最优化与数据库的连接所花的时间,返回的数据量以及多长时间往返一次和数据库的通讯上。有了这些概括信息,下面就让我们来

6、看看能帮助你改善应用程序性能的十个技巧。我将从能获得最显著效果的改变开始。技巧1——返回多个结果集复审你的数据库代码,看看是否有多于一次的对数据库的访问请求。这样每次往返数据库都降低你的应用程序能处理的每秒请求数。通过在单个数据库请求中返回多结果集,你能降低与数据库通信的总体时间。同时你也将使系统更具伸缩性,因为你减少了数据库服务器处理请求的负担。虽然你可以用动态SQL返回多结果集,我更喜欢使用存储过过程。是否将业务逻辑驻留在存储过程当中是个有待争论的问题,但我认为,如果存储过程中的逻辑能约束返回的数据(降低数据集的尺寸,在网络

7、上传输的时间以及逻辑层不必过虑数据),这是一件好事情。使用SqlCommand命令实例及其ExecuteReader方法来处理强类型的各个业务类,你通过调用NextResult可以向前移动结果集指针。Figure1示范了处理几个带类型的ArrayLists例子会话。从数据库只返回你需要的数据还会降低服务器上内存的分配。技巧2——分页数据存取ASP.NETDataGrid提供了非常好的能力:数据分页支持。当启用DataGrid中的分页功能,则每次只显示固定数量的记录。此外,分页用户界面也会显示在DataGrid底部用于导航记录。分

8、页用户界面允许你向前向后导航所显示的记录,一次显示固定数量的记录。有一个美中不足的是用DataGrid分页需要将所有数据邦定到此栅格控件(gird)。例如,你的数据层必须返回所有数据,然后DataGrid将根据当前页过滤掉所有显示的记录。当你通过DataGrid

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。