Hy,
我正在开发一个Episerver网站,并经历了一个非常糟糕的页面加载速度
使用的配置:
- 亚马逊AWS Windows Server 2008 R2数据中心
- 8 GB RAM,64位操作系统
- Microsoft Sql Server 2008 R2
- IIS 7.5
关注http://world.episerver.com/Blogs/Alexander-Haneng/Dates/2011/12/Starting-CMS-6-R2-sites-faster-after-build/博客文章,但没有得到一个巨大的性能改变
在web.config中也启用了Trace,我在Trace.axd中看到,在:Begin Load和End Load之间有一个巨大的加载时间:有时是20秒,而不是第一次加载。
在启用"IIS中的动态数据缓存"时也遇到了问题,导致页面无法再加载,我收到了错误消息内容编码错误,因为我看到这来自content-Length Header,它与所需的长度不匹配。
我不明白为什么通常需要大约4秒才能加载一个页面,如果有任何帮助,我将不胜感激,感谢
如果没有优化,EPiServer在冷启动时可能会很慢,但提供页面的速度非常快,除非应用程序池中的内存用完——而你不应该有8GB的RAM。
检查事项:
- 应用程序池行为:CPU是否随页面加载而激增?应用程序池是否使用了大量物理内存?应用程序池是否有内存限制
- 在站点后端的管理模式的起始页上有缓存统计信息。缓存命中率应该非常高(>90%(,或者缓存有问题
- 你确定是服务器端滞后吗?开发者工具/Firebug是怎么做的比如
- 您是否启用了log4net日志记录?它在排除性能问题时非常有用。如果是,您是否映射了自己的配置文件?(从那以后,我们遇到了极端的性能问题-使用到epicerverlog.config的内置映射(
- 您是否对所有模板都有问题?如果你创建了一个没有母版页/主布局视图的裸测试模板,只输出一个属性,那该怎么办
- 事件日志中记录了任何可疑事件
如果网站在DEV和Amazon环境中都很慢,那么答案很可能在模板中。
尝试安德斯建议的"裸骨测试模板"。
也可以使用例如dotTrace进行跟踪http://www.jetbrains.com/profiler/和/或SQL事件探查器,以查看是否发现速度较慢或发生频率过高的情况。