我使用 DotNetNuke版本05.01.04社区版参与了一个项目。我们正在使用它构建我们的新Intranet,但性能非常糟糕。
我们有五个人在其中添加页面和内容,并且每15-30秒他们会在系统继续并且下一个屏幕加载之前经历10秒或更长的暂停。
服务器是Windows 2003,3.8GHz,内存为1GB。我的服务器管理员告诉我,CPU和内存性能似乎不是瓶颈。
我们目前在系统中有350个页面,我们计划添加1000个。因此我们需要解决此性能问题,以便我们可以输入内容,以便我们可以上线。
我无法看到瓶颈在哪里。使用DotNetNuke时确定瓶颈有什么好处吗?
已安装模块
IIS设置
应用程序回收完全禁用(除了凌晨2点回收)
新发现:2010年3月18日
主要瓶颈是由于版本5.1.4有一个错误导致平均页面上有1300次数据库往返,这是由于数据库内存缓存损坏造成的。我们升级到5.2.4已经解决了这个瓶颈。
现在下一个最大的瓶颈是导航。我们使用了DDR:Menu和DDN:Nav,但两者都对性能产生了重大影响。
是否有导航界面不会导致性能下降?
答案 0 :(得分:5)
我认为你需要开始使用性能分析工具来研究这个问题。对于DNN应用程序本身,我会抓住像JetBrains DotTrace或Red Gate的ANTS Performance Profiler这样的东西。
对于数据库,SQL Server Profiler将是第一选择或工具,例如Red Gate的SQL Response。
如果没有对应用程序进行概要分析,那么您将会吸管秸秆。
正如蒂姆在评论中指出的那样,在Firefox中使用YSlow插件安装Firebug,以查看哪些资源用于浏览器的时间最长。
答案 1 :(得分:4)
Mitchel Sellers在DNN的表现方面有一些很好的教程和清单。从Explaining High Performance DotNetNuke Configuration and Management开始(指向他之前的一些文章)。
答案 2 :(得分:3)
我有几年的dnn开发和维护经验,当我遇到这类问题时,我开始从database clean up开始做事。接下来就是找到丢失的索引,和/或定期重建所有索引(为此安排的sql作业)但主要的性能提升来自清理表
另一个很好的考虑因素是,禁用跟踪,调试模式为false并关闭不使用的dnn功能(调度程序是第一个关闭的功能)
编辑:也考虑keep alive 希望这有帮助
答案 3 :(得分:0)
您的数据库是否在该服务器上?如果是这样,只需多放一些RAM,或者获得更快的磁盘阵列......
答案 4 :(得分:0)
您是否考虑过直接通过TSQL创建这么多页面?这不难做,可以为你节省很多时间。