知识大全 DotNetNuke网站性能的10个技巧
Posted 知
篇首语:没有加倍的勤奋,就既没有才能,也没有天才。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 DotNetNuke网站性能的10个技巧相关的知识,希望对你有一定的参考价值。
DotNetNuke网站性能的10个技巧 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
以下的这些配置是目前为止我所发现的最佳基准配置 依据不同的主机运行环境 更新频率 访问量 以及用户数量 网站的优化配置会有些不同 经过优化的DNN也是可以运行得很快的 以下我将使用DNN 中文版示范 这些技巧同样适用于DNN x
主机管理 > 主机设置中的基本优化
首先我们来优化主机设置 我仅在这里指出关键的设置
外观
显示版权信息 禁用此项
◆高级设置 > 身份验证设置 (只适用于DNN x DNN 设置方法见下) 禁用不需要的身份验证方式 通常我会禁用LiveID和OpenId以增加用户登陆的速度
◆高级设置 > 性能设置
◆网页状态保存方式 页面 这里是指viewstate的存储方式
◆模块缓存方式 重量级缓存 这里使用的是页面输出缓存
◆客户端缓存 Public 这样浏览器就会缓存js css 图片这些资源文件
◆压缩设置 GZip方式压缩 注意这里只是Gzip压缩只是压缩aspx动态页面 javascript css等资源文件请在IIS中设置压缩 压缩后页面大小一般会减少 %以上 速度提高也节省带宽
◆高级设置 > 其它设置
◆任务调度模式: 计时器模式 HTTP请求模式对访问率低的网站会造成初次访问加载过重的现象 启用事件记录缓存? 选中此项 是否自动同步文件? 禁用此项
卸载不需要的模块和Provider
卸载不需要的模块可以提高加载网站的速度 卸载模块后模块对应的程序集(dll)也会从bin文件夹中移除 这样会减少初次读取网站时加载程序集到内存的数量 以提高网站读取速度 DNN安装向导中默认模式只会安装基本的模块和Provider 但如果安装时选择了全部模块及Provider请按以下方式卸载 当需要时再安装
DNN x 主机管理 > 模块定义 中删除不需要的模块
DNN x 主机管理 > 功能扩展 中删除不需要的扩展 例如不需要论坛时就不要安装 网站不提供OpenId验证方式就卸载掉
禁用不需要的身份验证方式
此设置只适用于DNN 在DNN 中如果安装了多种身份验证方式 例如OpenID LiveID Active Directory在站点管理中可以针对不同的站点关闭开启需要的验证方式 这点比DNN x要灵活 在这里我们要禁用不需要的身份验证方式已提升登陆页面速度 在 站点管理 > 功能扩展中 选择扩展类型 Authentication System(身份验证系统) 然后编辑不需要的身份验证系统并禁用 通常我会只开启Default Authentication(默认的DNN验证方式) 禁用
DNN_OpenIDAuthentication
DNN_LiveIDAuthentication
DotNetNuke Active Directory Authentication Project
调度管理的设置
在 主机设置 > 调度管理中 根据需要延长或关闭不需要的调度任务 以防止频繁执行调度任务增加服务器压力
如果网站不提供站内搜索 则禁用DotNetNuke Services Search SearchEngineScheduler
如果网站提供站内搜索 则把DotNetNuke Services Search SearchEngineScheduler任务频率设置为 天重试频率设为 小时 这将会极大的减缓服务器压力
同样把DotNetNuke Services Scheduling PurgeScheduleHistory任务频率设置为 天
以上 就是最基本的通过网站配置实现的优化 总的来说以上的改变会带来显著的性能提升 但大多时间仍然不能足够的保正网站平滑的运行 因此依据不同情况我会进行以下的优化
定期清除事件记录
很多用过DotNetNuke的朋友会发现数据库中[EventLog] 表(记录站点 事件记录 的表)可能会成为导致性能下降的罪魁祸首因为DNN网站中的很多操作都会被记录到事件记录(EventLog)中 开启事件记录缓存会减缓尺寸过大的[EventLog]表对网站带来的副作用 但是最佳的优化方法莫过于定期清除 事件记录 方法有很多种
如果只有一个站点 用主机管理员(host)帐号登陆在站 点管理 > 事件记录 中选择清除所有记录 如果有很多站点一个一个清除很麻烦 直接到 主机管理 > SQL查询 里运行 TRUNCATE TABLE eventlog 则可一次清除[eventlog]的所有记录 如果对数据库有管理权限则可设置数据库调度任务定期自动执行 TRUNCATE TABLE eventlog
另外也可以使用Scheduled SQL Jobs这个免费模块来定期清空事件记录
请记住 我们必须保持 事件记录 (eventlog表)的记录数在一个很小的范围内 这样才能保证网站的运行效率 很多国外收费很贵的DNN专用主机空间所作的主要优化就是定期清除事件记录 当然在 站点管理 > 事件记录 > 编辑记录设置 中关闭不需要的记录 例如APPLICATION_START APPLICATION_END也是个不错的方法
皮肤优化
皮肤优化也是很重要的 购买或制作皮肤时一定要选用支持XHTML的使用DIV+CSS制作的皮肤 这会增加网页读取的流畅度 css也可以被浏览器缓存也可以增加页面读取速度 另外选择一个支持CSS的菜单控件 例如House Menu皮肤控件来替换默认的皮肤控件可以减少页面尺寸 %甚至更多 优化后的皮肤可令页面读取速度减少 %以上
另外关于客户端优化Yahoo的网站优化最佳实践是个很好的指南 我们也可以下载Firefox中的YSlow插件来查看优化的效果
防止网站重新加载编译
很多人对DNN速度慢的印象大多来自于初次访问速度过慢 这其实是因为Asp Net网站初次加载到程序池需要进行动态编译导致感觉速度很慢 其实加载之后速度就会很快了 另外对于访问量不多的网站
网站在静止一段时间后会被从程序池中踢出 当有用户访问时网站会重新加载编译 所以对于访问量少的网站用户总是觉得网站很慢 解决这个问题的关键是保持网站在程序池中活跃 以防网站重新加载 这方面的工具不少 原理一般就是定时ping网站保持网站活跃
我比较推荐的是一个免费工具Smarter Ping 之前有个客户的网站访问量很小导致每次访问网站都会重新加载 一般要等 秒 在使用了Smarter Ping之后每次都是一下就打开了不超过 秒 Smart Ping是一个Windows Service它会定时ping你预设的网站 这里建议时间间隔设为 分钟一次 另外DNN也有提供一个专门响应这类工具的网页在网站根目录下 KeepAlive aspx 添加要ping的网址时则可设为x
DNN优化模块
在这里不得不提Snapsis PageBlaster这个优化模块 它可以提供全方位的优化 例如页面压缩 缓存 合并静态文件减少请求 大大提升页面读取速度 如果前面优化效果不理想可以试试这个模块
服务器优化建议
在不同运行环境下的优化配置
云平台 类似于Mosso这种云服务平台也是可以支持DNN的 但是在这种环境下模块缓存到内存是不工作的 所以在主机设置里我们要把 模块缓存方式 设为硬盘 这样会提升 %的性能 其它的设置基于以上优化不用变动
共享主机 共享主机中 模块缓存方式 设置为内存没什么问题 因为内存比磁盘要快很多 但是对于很繁忙的Web服务器 例如存放上百个网站的Web服务器使用共享的应用程序池 每个网站分配到的内存可能都会很少 这种情况下缓存到内存的命中率会很低 大部分时间会从服务器重新请求 这时设置 模块缓存方式设 为硬盘的效果会好些
虚拟主机 情况和共享主机类似 模块缓存方式 默认设置为内存 根据具体情况如果网站很多觉得速度慢改为硬盘试试看
对于在本地测试使用debug模式在Visual Studio中运行的朋友 不要期待在这种环境下速度会很快 这种模式下运行DNN这种大型网站会很吃力 在IIS中设置网站速度会提高不少
修复反复发生的错误
反复发生的错误异常是所有网站的性能杀手 每当有不能处理的异常抛出都会的进程造成一些影响 并且DNN系统会捕捉并记录异常到数据库的[EventLog]表 对于高访问量的网站这种代价是很难承受的 经常查看 站点管理 > 事件记录 确定没有反复发生的错误是保证网站正常工作的前提 如果发现此类异常要及早处理 异常可能是由第三方模块造成 也可能是系统本身的bug
对于不熟悉 Net除错和DotNetNuke系统的朋友 可能会比较麻烦 这时最好利用社区的帮助或者咨询专业公司
总结
cha138/Article/program/net/201311/13901相关参考
10个提升ASP.NET程序性能的简单做法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!lishi
10个常用方法有效优化ASP.NET的性能 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!数据库访问
新的一年你的老板或客户是否曾和你抱怨公司的网站性能愈来愈差?网站大家都会写自从有了VisualStudio之后连你家楼下的正妹小喵和隔壁的王大婶都会写ASPNET但
你的老板或客户是否曾和你抱怨公司的网站性能愈来愈差?网站大家都会写自从有了VisualStudio之后连你家楼下的正妹小喵和隔壁的王大婶都会写ASPNET但同样的一
您可以提高您站点的访问速度那么就需要用到cache(缓存)通常可以我们使用cache来处理经常检索的结果或不经常改变的数据结果  
HTML页面内的每个元素都可以通过JavaScript来访问DHTML的样式属性包含有可视性属性后者能够让你控制是否在页面上显示元素的内容要做到这一点你就要把属性设置为可视或者隐藏下面的句法能够让
1、传感器精度测试,检测传感器采样显示值与现场实际值的一致性;依据设计要求及产品技术条件,按照设计总数的10%进行抽测,且不得少于10个,总数少于10个时全部检测,合格率达到100%时为检测合格;
1、传感器精度测试,检测传感器采样显示值与现场实际值的一致性;依据设计要求及产品技术条件,按照设计总数的10%进行抽测,且不得少于10个,总数少于10个时全部检测,合格率达到100%时为检测合格;
知识大全 想给女朋友一个惊喜、想自己做个网站、但又不知道怎么做、怎么才能做个免费的网站啊
想给女朋友一个惊喜、想自己做个网站、但又不知道怎么做、怎么才能做个免费的网站啊你知道你女朋友最需要的是什么吗?是网站吗?想给自己做个网站可是不知道怎么做?你自己需要做什么网站,用什么语言。就往这方面入
知识大全 我想自己开个网站,买个域名空间做个网站,自己的,希望亲们给点建议,非诚勿扰
求解答!我想自己开个网站,买个域名空间做个网站,自己的,希望亲们给点建议,非诚勿扰!我知道一家公司,云志网络。空间域名都挺不错的。服务器也挺稳定的,上个月我买了一款主机和一个域名,感觉比那些知名的大公