ASP.NET常用的几个优化性能方法(2)
考虑对应用程序禁用 autoeventwireup。在 machine.config 文件中将 autoeventwireup 属性设置为 false,意味着页面不将方法名与事件进行匹配和将两者挂钩(例如 page_load)。如果页面开发人员要使用这些事件,需要在基类中重写这些方法(例如,需要为页面加载事件重写 page.onload,而不是使用 page_load 方法)。如果禁用 autoeventwireup,页面将通过将事件连接留给页面作者而不是自动执行它,获得稍许的性能提升。
从请求处理管线中移除不用的模块。默认情况下,服务器计算机的 machine.config 文件中
例如,如果您在应用程序中不使用会话状态和输出缓存,则可以从
4. 一定要禁用调试模式
在部署生产应用程序或进行任何性能测量之前,始终记住禁用调试模式。如果启用了调试模式,应用程序的性能可能受到非常大的影响。
5. 对于广泛依赖外部资源的应用程序,请考虑在多处理器计算机上启用网络园艺
asp.net 进程模型帮助启用多处理器计算机上的可缩放性,将工作分发给多个进程(每个 cpu 一个),并且每个进程都将处理器关系设置为其 cpu。此技术称为网络园艺。如果应用程序使用较慢的数据库服务器或调用具有外部依赖项的 com 对象(这里只是提及两种可能性),则为您的应用程序启用网络园艺是有益的。但是,在决定启用网络园艺之前,您应该测试应用程序在网络园中的执行情况。
6. 只要可能,就缓存数据和页输出
asp.net 提供了一些简单的机制,它们会在不需要为每个页请求动态计算页输出或数据时缓存这些页输出或数据。另外,通过设计要进行缓存的页和数据请求(特别是在站点中预期将有较大通讯量的区域),可以优化这些页的性能。与 .net framework 的任何 web 窗体功能相比,适当地使用缓存可以更好的提高站点的性能,有时这种提高是超数量级的。
使用 asp.net 缓存机制有两点需要注意。首先,不要缓存太多项。缓存每个项均有开销,特别是在内存使用方面。不要缓存容易重新计算和很少使用的项。其次,给缓存的项分配的有效期不要太短。很快到期的项会导致缓存中不必要的周转,并且经常导致更多的代码清除和垃圾回收工作。若关心此问题,请监视与 asp.net applications 性能对象关联的 cache total turnover rate 性能计数器。高周转率可能说明存在问题,特别是当项在到期前被移除时。这也称作内存压力。
Tag: 性能优化
文章整理:iocblog
版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。