摘要:前言 怎么才能让asp.net网站飞得更快,有更好的性能?这是很多开发者常常思考的一个问题。我有时候会做大量的测试,或请求别人帮忙采集一些数据,希望能够验证网上一些专家的建议或证明

前言

怎么才能让asp.net网站飞得更快,有更好的性能?——这是很多开发者常常思考的一个问题。我有时候会做大量的测试,或请求别人帮忙采集一些数据,希望能够验证网上一些专家的建议或证明自己的一些猜想。

理论上讲,我们希望能开发出性能最优的网站,但是公司能否承担为此要付出的成本?这是实践过程中常常遇到的矛盾。 如何合理运用已知技巧在实战中是最有意义话题。

本文罗列出一些优化的经验和方案,成文之前有幸看了一些高质量的文章。想强调一点,很多的部分不是我个人的劳动成果,但我完全的支持和同意这样去做,不敢独享,希望抛砖引玉,共同长进。

IIS设置

如果你的IIS服务器不需要外出访问互联网,关闭Certificate Revocation List (CRL)machine.config 中 generatePublisherEvidence证书撤销清单的Authenticode的二进制文件(CRL)检查。

可以参考下面的文章:

http://msdn.microsoft.com/zh-cn/library/bb629393.aspx

打开IIS Compression (HTTP 压缩), 默认情况下IIS7.x 和 IIS6 都没有打开这项。 这可以帮助你提高带宽的使用效率。启用压缩提高 IIS 与启用压缩的浏览器之间的传输速度。 尤其对于移动设备,采用压缩可以提高性能。

仅限静态文件

仅限动态应用程序响应

静态文件和动态应用程序响应

IIS 提供下列压缩选项:

注意: 压缩动态应用程序响应会影响 CPU 资源,因为 IIS 不缓存动态输出的压缩版本。

因为动态压缩会消耗大量的 CPU 时间和内存资源,所以应当仅在满足下列条件的服务器上使用它:网络连接速度很慢,但有多余的 CPU 时间。

与动态响应不同,可以对压缩的静态响应进行缓存,同时不会降低 CPU 资源的性能。

静态文件的优化

尽量合并文件的静态内容(如js文件和css文件)。 这有利于更快地下载此类文件,理想的情况下,合并成一个单一的JS和CSS文件。

先加载CSS然后加载Javascript

避免在HTML中对图片使用Width height, 例如 <img width="400" height="280" src="myimage.jpg" />

代码的优化

确保默认下关闭ViewState,真正需要它时才启用。 关闭ViewState可以从根本上减少页面的大小,并显着提高页面加载时间。

启用ASP.NET输出缓存。 不幸的是,这有可能需要你花时间研究一个个ASPX页面。

启用Web service 的输出缓存。 你的Web service 在任何给定的输入参数下总是返回相同结果, 你可以使用这种缓存。

如果你使用了ASP.NET Ajax,确保在web.config 中设置了 <compilation debug="false"/>。 这避免了客户端和服务器端“昂贵的”参数验证。

工具

使用YSlow来测量网页加载时间。如果有必要我会介绍如何使用Yslow。在这里先上几个截图,让大家有一定了解:

FireBug——这是另外一款利器,你可以很容易得到如何使用它的文章。

其他

如果应用程序需要从XML反序列化任何数据(包括 web services),请预先使用 Sgen.exe (XML 序列化程序生成器工具)生成程序集。 不使用 XML 序列化程序生成器时,XmlSerializer 在应用程序每次运行时为每个类型生成序列化代码和一个序列化程序集。

可以参考下面的文章了解更多关于SGEN :

http://msdn.microsoft.com/zh-cn/library/bk3w6240%28v=VS.100%29.aspx

参考:http://blogs.msdn.com

原文链接:http://www.cnblogs.com/multiplesoftware/archive/2011/02/08/1949809.html

如何真正提高ASP.NET网站的性能的更多相关文章

  1. 26种提高ASP.NET网站访问性能的优化方法 .

    1. 数据库访问性能优化 数据库的连接和关闭 访问数据库资源需要创建连接.打开连接和关闭连接几个操作.这些过程需要多次与数据库交换信息以通过身份验证,比较耗费服务器资源. ASP.NET中提供了连接池 ...

  2. 提高ASP.NET网站性能的方法

    http://www.360doc.com/content/14/0705/18/7662927_392224856.shtml   Asp.NET有许多秘密,当你了解了这些秘密后,可以使得你的ASP ...

  3. 提高 ASP.NET Web 应用性能

    转载:http://www.codeceo.com/article/24-ways-improve-aspnet-web.html 在这篇文章中,将介绍一些提高 ASP.NET Web 应用性能的方法 ...

  4. 性能调优之提高 ASP.NET Web 应用性能的 24 种方法和技巧

    性能调优之提高 ASP.NET Web 应用性能的 24 种方法和技巧   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对 ...

  5. 提高 ASP.NET Web 应用性能的 24 种方法和技巧(转载)

    在这篇文章中,将介绍一些提高 ASP.NET Web 应用性能的方法和技巧.众所周知,解决性能问题是一项繁琐的工作,当出现性能问题,每个人都会归咎于编写代码的开发人员. 以下为译文 那性能问题到底该如 ...

  6. 提高ASP.NET应用程序性能的十大方法

    一.返回多个数据集 检查你的访问数据库的代码,看是否存在着要返回多次的请求.每次往返降低了你的应用程序的每秒能够响应请求的次数.通过在单个数据库请求中返回多个结果集,可以减少与数据库通信的时间,使你的 ...

  7. 提高Asp.Net应用程序性能的十大方法(译感)

    译完了提高Asp.Net应用程序的十大方法这篇文章,仔细想其中提到的每一条,在这里结合我的项目来谈谈.第一条:返回多个结果集因为我的项目中所有对数据库的访问的sql语句都是通过调用存储过程实现的,所以 ...

  8. .NET开发人员必看:提高ASP.NET Web应用性能的24种方法和技巧

    那性能问题到底该如何解决?以下是应用系统发布前,作为 .NET 开发人员需要检查的点. 1.debug=「false」 当创建 ASP.NET Web应用程序,默认设置为「true」.开发过程中,设置 ...

  9. 提高 ASP.NET Web 应用性能的 24 种方法和技巧

    那性能问题到底该如何解决?以下是应用系统发布前,作为 .NET 开发人员需要检查的点. 1.debug=「false」 当创建 ASP.NET Web应用程序,默认设置为「true」.开发过程中,设置 ...

随机推荐

  1. iOS 十六进制和字符串转换

    NSString *dictString = [dict JSONFragment];//组合成的. dictString==={"content":"Sadgfdfg& ...

  2. 理解KMP算法

    母串:S[i] 模式串:T[i] 标记数组:Next[i](Next[i]表示T[0~i]最长前缀/后缀数) 先来讲一下最长前缀/后缀的概念 例如有字符串T[6]=abcabd接下来讨论的全部是真前缀 ...

  3. MySQL zabbix

    http://liqingbiao.blog.51cto.com/3044896/1712080

  4. Delphi的属性Property

    参考:http://www.cnblogs.com/edisonfeng/archive/2012/05/22/2513727.html 一.基本属性 TOnUserInfoShow = proced ...

  5. 【翻译十七】java-并发之高性能对象

    High Level Concurrency Objects So far, this lesson has focused on the low-level APIs that have been ...

  6. PHP检测终端设备是平板、手机还是电脑

    <?php $ua = $_SERVER['HTTP_USER_AGENT']; function userAgent($ua){ $iphone = strstr(strtolower($ua ...

  7. Android 第3方控件一览表

    1 UnSlideListView 解决在ScrollView的无法正常显示的问题 例子在“真好项目”中“NGDetailActivity”.“HKcfqjActivity”.

  8. Get open Popups

    public IEnumerable<Popup> GetOpenPopups() { return PresentationSource.CurrentSources.OfType< ...

  9. 自己yy的fulkson最大流算法

    #include <iostream> #include <cstdio> #include <vector> using namespace std; ; //m ...

  10. 【SQL Server】数据库是单个用户的 无法顺利进行操作 怎么解决

    1.打开数据库 2.新建查询 ,输入以下的SQL 语句 DECLARE @SQL VARCHAR(MAX); SET @SQL='' SELECT @SQL=@SQL+'; KILL '+RTRIM( ...