博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
三招提高.NET网站性能
阅读量:5158 次
发布时间:2019-06-13

本文共 1199 字,大约阅读时间需要 3 分钟。

一、减少往返行程(Reduce Round Trips)

  使用下面的方法可以减少Web服务器和Browser之间的往返行程:

  1、为Browser启用缓存

  如果呈现的内容是静态的或变化周期较长,应启用Browser缓存,避免发出冗余的http请求。

  2、缓冲页面输出

  如果可能,则尽量缓冲页面输出,处理结束后再一次传送到客户端,这可以避免频繁传递小块内容所造成的多次网络交互。由于这种方式在页面处理结束之前客户端无法看到页面内容,因此如果一个页面的尺寸较大的话,可考虑使用Response.Flush方法。该方法强制输出迄今为止在缓冲区中的内容,你应当采用合理的算法控制调用Response.Flush方法的次数。

  3、使用.Transfer重定向请求

  使用Server.Transfer方法重定向请求优于Response.Redirect方法。原因是Response.Redirect会向Broswer回送一个响应头,在响应头中指出重定向的URL,之后Brower使用新的URL重新发出请求。而Server.Transfer方法直接是一个简单的服务端调用,完全没有这些开销!

  需要注意Server.Transfer有局限性:第一,它会跳过安全检查;第二,只适用于在同一Web应用内的页面间跳转。

 二、避免阻塞和长时间的作业

  如果需要运行阻塞或长时间运行的操作,可以考虑使用异步调用的机制,以便Web服务器能够继续处理其它的请求。

  1、使用异步方式调用Web服务和远程对象

  只要有可能就要避免在请求的处理过程中对Web服务和远程对象的同步调用,因为它占用的是的ASP.NET 线程池中的工作线程,这将直接影响Web服务器响应其它请求的能力。

  2、考虑给不需要返回值的Web方法或远程对象的方法添加OneWay属性

  这种模式能让Web Server调用之后就立即返回。可根据实际情况决定是否使用这种方法。

  3、使用工作队列

  将作业提交到服务器上的工作队列中。客户端通过发送请求来轮询作业的执行结果。

 

三、使用缓存

  缓存能在很大程度上决定ASP.NET应用的最终性能。Asp.net支持页面输出缓存和页面部分缓存,并提供Cache API,供应用程序缓存自己的数据。是否使用缓存可考虑下面的要点:

  1、识别创建与访问代价较大的数据

  2、评估需要缓存数据的易变性

  3、评估数据的使用频次

  4、 将要缓存数据中易变数据和不变数据分离,只缓存不变数据

  5、选择合适的缓存机制(除Asp.net Cache外,Application state和Session state也可以作为缓存使用)

转载于:https://www.cnblogs.com/kiufei/archive/2012/05/24/2517086.html

你可能感兴趣的文章
awk变量
查看>>
mysql_对于DQL 的简单举例
查看>>
35. Search Insert Position(C++)
查看>>
[毕业生的商业软件开发之路]C#异常处理
查看>>
一些php文件函数
查看>>
有关快速幂取模
查看>>
Linux运维必备工具
查看>>
字符串的查找删除
查看>>
NOI2018垫底记
查看>>
快速切题 poj 1002 487-3279 按规则处理 模拟 难度:0
查看>>
Codeforces Round #277 (Div. 2)
查看>>
【更新】智能手机批量添加联系人
查看>>
NYOJ-128前缀式计算
查看>>
淡定,啊。数据唯一性
查看>>
深入理解 JavaScript 事件循环(一)— event loop
查看>>
Hive(7)-基本查询语句
查看>>
注意java的对象引用
查看>>
C++ 面向对象 类成员函数this指针
查看>>
NSPredicate的使用,超级强大
查看>>
自动分割mp3等音频视频文件的脚本
查看>>