DNN网站出现服务不可用
前几天,在调试DNN网站的时候,当数据量一大,发现网站速度特别慢。
而且动不动就出现服务不可用的提示。
经过半个小时的调整后,总算又恢复了正常。因为在DNN山海经里一说,发现大家似乎都有这个问题,估计也会有其他朋友遇到,因此把我的一些心得体会写出来,给大家一点启示。因为是几天前的事情了,具体的一些提示信息等的可能记不清楚了。但是具体思路应该是对的。
首先是查看windows的应用程序日志,可以发现提示asp.net的内存使用超过60%的提示,造成aspnet_wp.exe被结束重启。
观察windows的内存使用情况,发现sqlserver和aspnet_wp.exe 2个进程的内存达到了将近1G。我使用服务器的物理内存就只有1G。
首先,我将sql server的内存进行了限制,限制最大到300M。
发现还是不行。
于是想到的是因为我在DNN的Host配置中
Page State Persistence: Memory
Module Caching Method: Memory
Performance Setting: Heavy Caching
因此我将这几个配置降低,改成以下配置:
Page State Persistence: Page
Module Caching Method: Disk
Performance Setting: Moderate Caching
进行这样更改后,基本能正常访问了,但是发现只要多访问几下,马上还是会出现内存超过60%的问题。只是现在出现的次数少点。
没有办法,只好更改machine.config中<processModel>节点中对内存的限制,
将memoryLimit改为150,也就是允许使用物理内存的150%。这时基本正常了。
以上是具体的解决过程。
通过这个过程,我有以下感想:
1、首先是我采用的是永日的文章管理模块,当我的数据量不是很大的时候,没有出现这个问题,但当我数据上了万条以后就出现了,感觉它的这个性能优化做的不是很好,怀疑它的List显示模块没有对数据进行很好的缓存和优化。同时,感觉这种没有源代码的东西很烦,尤其是在碰到问题的时候,因为这种属于小东西,不可能有那么好的售后服务,于是对于使用者来说就会很痛苦。所以看来如果要采用文章管理模块,尽量还是自己写,或者开源的。
我之所以采用永日这个东西,主要是因为我做的这个项目时间很紧,我从接触DNN,到项目完成只有3个月时间。当时的要求是必须开源,而且要基于Asp.Net,并且要很好的继承原先asp网站的数据,这这么短的时间里,自己写个这样的框架不太现实,而Asp.net开源中,DNN无疑是最为耀眼的CMS框架。
2、DNN的性能确实很成问题,如果没有很好的服务器配置,很难流畅的运行。因此,象小型的个人网站,购买空间的这种小型网站,采用DNN不是很好,因为有点杀鸡用牛刀的感觉。首先是DNN的目标并不是个人网站,而是主机供应商;其次是DNN没有免费的文章管理模块,而对于国内的这种网站来说,这块是非常重要的。
对于服务器配置问题,我下一步准备采用更好的服务器配置,可能会采用几个CPU和几个G的服务器进一步测试。
3、对于上面的性能缓存问题,最好根据自己的内存进行配置,否则可能适得其反,因为如果如果缓存很大的话,对内存和cpu都是有损耗的,有个人可能会说只对内存有损耗,怎么会对cpu有损耗呢?原因是管理缓存,查找缓存的时候对cpu有影响,因此如果cpu和内存跟不上,反而造成性能下降。
接触DNN也有2,3个月了,分析了它很多的源代码,学到了很多知识,其中有正面,也有反面的。
例如其中采用的Provider设计方式就是值得借鉴的,同时例如DataProvider和xxxDataProvider这种继承架构感觉就不太好,这里应该采用接口,而不是抽象类,这样xxxDataProvider可以继承自统一的xxxDataProviderBase类,这样不需要在每个xxxDAtaProvider类中都有那些读取连接字符串等等的一些公用操作。
经过很多的思考后,觉得DNN需要改进的东西还有很多很多,至少对于我自己的项目来说是这样。对于里面一些设计思想,我可能会继续学习,不过也有了搭建自己的类似架构的想法。
转载于:https://www.cnblogs.com/MicroDreamSoft/articles/1259654.html
DNN网站出现服务不可用相关推荐
- 全面!一文理解微服务高可用的常用手段
来自:高可用架构公众号 " 高可用并不是一套整体解决方案,而是由诸多环节组成,一环扣一环,鬼知道为了这些串联起来的环节,我得出多少张牌去应对,才能最终组成一个整个系统的高可用落地方案. 什么 ...
- Haproxy+Keepalived实现网站双主高可用-理论篇
一.Haproxy简介 HAProxy是一款提供高可用性.负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理软件,HAProxy是完全免费的.借助HAProxy可以快速并且可靠的提供基于T ...
- Windows7 打开任务计划提示“任务计划程序服务不可用。任务计划程序将尝试重新与其建立连接。”解决办法
不知什么原因,Windows7系统进入"控制面板"----"管理工具"----"任务计划程序"时,提示"任务计划程序服务不可用.任 ...
- 全面 一文理解微服务高可用的常用手段
" 高可用并不是一套整体解决方案,而是由诸多环节组成,一环扣一环,鬼知道为了这些串联起来的环节,我得出多少张牌去应对,才能最终组成一个整个系统的高可用落地方案. 图片来自 Pexels 什么 ...
- Linux服务器出现503 服务不可用错误怎么办?
HTTP 503 服务不可用错误代码表示网站暂时不可用.无论您是网站访问者还是管理员,503 页面都很麻烦.尽管该错误表明存在服务器端问题,但对于访问者和网络管理员来说,有一些可能的解决方案.本文 ...
- 【CTO讲堂】打造数据可靠、服务高可用的客服平台
为了帮助IT从业者职业之路拥有更多收获,在诸多C粉的殷切期待下,由 CTO俱乐部打造的CTO线上讲堂自登场以来获得大家好评.本期邀请Udesk CTO肖立鹏带来"打造数据可靠.服务高可用的客 ...
- 详细解读503服务不可用的错误以及如何解决503服务不可用
文章目录 1. 问题引言 2. 什么是503服务不可用错误 3 尝试解决问题 3.1 重新加载页面 3.2 检查该站点是否为其他人关闭 3.3 重新启动设备 3.3 联系网站 4. 其他解决问的方法 ...
- 网站 ddos 服务_如何为您的网站选择DDoS保护服务
网站 ddos 服务 This article was sponsored by Incapsula. Thank you for supporting the partners who make S ...
- 测评国内免费网站监控服务 - 监控宝,阿里云监控,百度云观测,360监控等对比
无论我们使用的是昂贵的还是便宜的,甚至可能是免费的虚拟主机.VPS服务器,我们也不可能全天24小时在线盯着服务器的状态和网站的运行情况.如果是我 们个人站长可能自己的网站和服务器还不止一个,不可能照顾 ...
最新文章
- Fast ORB-SLAM
- 【Ubuntu】Ubuntu下的录频软件SimpleScreenRecorder
- windows环境下,django + mongoengine + mongodb环境配置
- ORACLE逻辑DATAGUARD创建表
- Android配置启动界面:Activity基本使用
- Unity 分离贴图 alpha 通道实践
- python return用法_初学Python要了解什么 装饰器知识汇总有哪些
- 雨林木风win11 64位原版系统v2021.08
- 本科生如何系统地学习前端开发?
- js错误: XXX变量 is not a function
- Linux ACL 权限
- CP/IP四层模型与OSI参考模型
- Visio2019中插入数学公式
- android ipv6 谷歌,Ipv6使用google服务的DNS
- 基于51单片机的指纹考勤系统密码锁门禁原理图PCB程序设计
- 单工通信、半双工通信和全双工通信之间有什么区别。
- TIM学习文档22-- 账户分配
- 计算机上静音快捷键是什么,电脑静音快捷键是什么(如何设置电脑一键静音?)...
- 工作中提高工作效率的几个思维模式
- Microsoft Project教程_编程入门自学教程_菜鸟教程-免费教程分享