【问题标题】:Episerver CMS 6 Slow page loadEpiserver CMS 6 页面加载缓慢
【发布时间】:2013-03-01 08:18:22
【问题描述】:

喂,

我正在开发一个 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 秒,任何帮助将不胜感激,谢谢

【问题讨论】:

  • 网站在您的开发环境中使用相同数据库的性能如何?
  • 在我的开发环境中使用 Windows7 稍微快一点,我只是注意到特定页面上的 cpu 在客户端的一个请求下达到 44%,使用 2 个客户端进行测试并获得 88% 的 CPU 使用率,很烦人
  • EPi 页面有多少?数据库有多大?
  • 大约 1000 页,找到了一些东西,这 DF.GetDescendents() 可能是问题所在,例如,如果我要获取具有 300 个子页面的页面的后代?
  • 在 EPiServer 中获取大量子页面历来相当缓慢。尝试删除对 GetDescendents 的调用,看看这是否是您的瓶颈。

标签: asp.net episerver episerver-6


【解决方案1】:

如果没有优化,EPiServer 在冷启动时可能会很慢,但提供页面的速度非常快,除非您的应用程序池内存不足 - 而且您不应该使用 8 GB 的 RAM。

检查事项:

  • 应用程序池行为:每次页面加载时 CPU 都会出现峰值吗?应用程序池是否使用大量物理内存?应用程序池是否有任何内存限制?
  • 在站点后端管理模式的起始页上有缓存统计信息。缓存命中率应该非常高(> 90%),否则缓存有问题。
  • 您确定这是服务器端延迟吗?开发人员工具/Firebug 是什么? 说什么?
  • 您是否启用了 log4net 日志记录?在对性能问题进行故障排除时,它非常有用。如果是,您是否映射了自己的配置文件? (我们因此遇到了极端的性能问题 - 使用到 episerverlog.config 的内置映射)
  • 所有模板都存在问题吗?如果您创建一个没有母版页/主布局视图的准系统测试模板,并且只输出一个属性,该怎么办。
  • 事件日志中记录了任何可疑事件?

【讨论】:

  • 我正在测试 CPU Spikes,上面对 @JohanKronberg 进行了评论,在另一个页面上,前几次 CPU 使用率很高,之后没有更多的 CPU 使用率 (1.2%),并且在管理员中模式百分比为 99 %
【解决方案2】:

如果网站在 DEV 和 Amazon 环境中都很慢,那么答案很可能在您的模板中。

按照 Anders 的建议尝试“准系统测试模板”。

还可以使用例如 dotTrace http://www.jetbrains.com/profiler/ 和/或可能的 SQL Profiler 进行跟踪,以查看您是否发现一些缓慢或过于频繁发生的问题。

【讨论】:

    猜你喜欢
    • 2015-03-15
    • 2012-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-22
    相关资源
    最近更新 更多