MVC3+EF4.1 构建高性能可伸缩的应用系统之三(高性能运行结构)

首页 | 新闻 | 交流 | 问吧 | 文档 | 手册 | 下载 | 博客

MVC3+EF4.1 构建高性能可伸缩的应用系统之三(高性能运行结构)

作者:  时间: 2011-06-05

MVC3+EF4.1 Web 应用程序已经是单页面框架结构,性能已经很优秀,我们的目的是打造优秀中的精品软件,所以,性能优化还是需要的。

我们从以下几个方面考虑构建系统:

三、高性能运行结构

01)不用立即更新的页面内容,采用输出缓存。

        例如: 主界面动态菜单,只要登录之后第一次加载,从数据库/配置文件读取,设置页面输出缓存,十分钟之内不用频繁访问数据库。

        [OutputCache(Duration = 600, Location = OutputCacheLocation.Server, VaryByParam = "personCode")]
        public JsonResult InitMenu(string personCode)

02)压缩清理输出代码。

        如果输出类型= text/html,并且客户端浏览器支持 gzip / deflate 压缩,启动数据流压缩。

        如果启用清理(默认),正则表达式替换 <!-- * --> 、/* */、// 等程序注释,清除回车前后空白、清除 >< 前后空白等。

        要求输出纯净的HTML+JS脚本,不含任何注释、大块空白、版权等附加信息,注意正则表达式的验证。

03)禁止不用的视图引擎。

        // 移除不用的视图引擎,只添加Razor
        ViewEngines.Engines.Clear();
        ViewEngines.Engines.Add(new RazorViewEngine());

04)解决方案配置为 Release 版本。

05)自动加载调试和运行版本的文件。

06)排除不发布的文件,发布的文件设置为生成内容。

07)启用IIS提供的GZIP压缩功能,目的是压缩并缓存外部 CSS、JS 文件。数据流压缩+IIS压缩,包含了内部+外部脚本的整体优化。