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压缩,包含了内部+外部脚本的整体优化。