【发布时间】:2012-09-13 22:34:08
【问题描述】:
我正在使用 Orchard 1.5 开发我的第一个网站,我担心网站的速度。我意识到在开发模式下,页面是动态编译的,这会导致速度变慢,但是我已经完成了以下操作以将站点设置为生产模式,并且仍然从一个页面到另一个页面,每个请求都需要 2 到 6 秒到展示。这是我所做的:
- 使用“发布”版本构建解决方案
- 退出网站(以匿名方式查看)
- 在 IIS 中将应用程序设置为根站点
- 禁用“形状追踪”模块
- 在 web.config 中设置
<compilation debug="false" ...> - 将主题设置为基本 TheThemeMachine 主题
我只有 5 页非常基本的内容,主页仅包含 Orchard 设置中的默认内容。所有页面加载缓慢。这是我的站点地图:
- 主页 (2 秒加载)
- 关于我们(2 秒加载)
- Bios (投影页面 - 6 秒加载)
- John Doe (2 秒加载)
- 玛丽·简 (2 秒加载)
- Bios (投影页面 - 6 秒加载)
有了这些设置,页面加载时间仍然慢得令人无法接受。我只是在我的本地机器上测试它,还没有将它推广到生产服务器,但是我的机器是一台强大的四核机器,运行 Windows 7 和 8GB 内存,所以我看不出它有多大不同于我们的生产服务器。由于所有请求都是本地请求,因此网络带宽不是问题。唯一与完全生产不同的是应用程序正在访问网络上的 SQL 服务器,但我无法想象有这么多的 SQL 流量。
仅供参考 - 我正在检查 FireBug 的加载时间,并且仅使用从初始 GET 到服务器的值,而不是任何辅助请求。
我看到的 Orchard 网站是否正常,或者我应该进行哪些其他更改来优化性能?当我访问 www.orchardproject.net 时,即使所有内容都非常快速(
【问题讨论】:
-
显然不正常。您当然可以启用缓存,但首先您应该对此进行分析。
-
经过大量分析后,我发现罪魁祸首是远程 SQL 服务器的访问。我认为 Orchard 的所有 SQL 语句的管道上没有那么多流量,但确实有。当我将数据库复制到我的本地开发机器上时,网站的响应速度变得更快。
-
1.6 中的数据库缓存也将进一步改进......