3个增加CPU负担影响IIS/asp.net 性能的问题摘要
来源:互联网 发布:单代号搭接网络计划 编辑:程序博客网 时间:2024/06/04 17:57
原文地址:http://mvolo.com/fix-the-3-high-cpu-performance-problems-for-iis-aspnet-apps/
1. Handled exceptions & Response.Redirect
"don’t use exceptions as flow control in your application" ,不要通过exception进行流程控制,很多时候我们简单的通过try cach 来处理潜在的异常问题而不是分析指出为何会抛出exception,这是很不好的做法,理由之一是异常处理是个很耗费cpu资源的操作。
a 非必要情况下不要为controller使用handleerror熟悉;尽量使用return View("~/Views/MyView.cshtml"),就是尽可能传入路径,而不是默认的return View()
b HttpWebRequest throws a WebException for 404s, 401s, and other non-200 responses
3Response.Redirect(newUrl, FALSE)替代HttpResponse.Redirect().因为后者总是会抛出ThreadAbortException,会导致CLR threadpool处理的工作,增加cpu负担。mvc中的return Redirect(newUrl)已经处理了这个问题
2.LINQ to SQL & non-compiled queries
2.LINQ to SQL & non-compiled queries
每个linq查询执行前,会由linqtosql provider编译为sql查询,这个动作比较消耗cpu,可以编译,后面的请求可以使用编译过的sql查询,避免每次都编译
// create compiled querypublic static Func<northwnd, string,="" iqueryable> CustomersByCity = CompiledQuery.Compile( (Northwnd db, string city) => from c in db.Customers where c.City == city select c );// invoke compiled queryvar myDb = GetNorthwind();return Queries.CustomersByCity(myDb, city);也可以预编译处理entity framework query, Entity Framework 4.5版本可以自动编译了
3. Memory allocation & "% Time In GC"
- 3个增加CPU负担影响IIS/asp.net 性能的问题摘要
- IIS经典模式对ASP.NET MVC应用程序的影响
- 10个影响性能的问题
- ASP.NET应用中常见的,容易出错,影响性能和扩缩性的潜在问题 网摘
- ASP.NET与IIS的安装问题
- asp.net 的iis安装问题
- asp.net的性能问题
- ASP.NET中Session对性能的影响
- 增加asp.net应用程序性能的20种方法
- cpu cache对程序性能的影响
- [Asp.Net]IIS与.NET Framework的安装顺序问题
- Asp.net下使用RequiredFieldValidator影响别的控件的问题
- 10个影响JavaEE性能问题
- 关于ASP.NET在IIS一些问题的经验总结
- 关于ASP.NET在IIS一些问题的经验总结
- 关于ASP.NET在IIS一些问题的经验总结(zz)
- 【关于ASP.NET在IIS一些问题的经验总结】
- 关于ASP.NET在IIS一些问题的经验总结
- 双网卡双网关实例问题解决
- 天乙社区社区首页分析(一)
- Java VisualVM无法检测到本地java程序 的 解决办法
- windbg : find kernel address's means
- 实现虚拟机VMware上linux与windows互相复制与粘贴
- 3个增加CPU负担影响IIS/asp.net 性能的问题摘要
- LC滤波器与RC滤波器的区别
- 我常犯的错误
- asp.net+javascript滚动新闻(详细实现)by C#
- ios平台播放。MP3音乐
- 按键设备驱动—我的学习资料
- H面试(20): 排序总结
- 数学知识
- 把应用安装到Android系统目录下