常见程序不稳定的原因和解决方法
美国、香港服务器
常见程序不稳定的原因和解决方法
07-17 来源:
1、何谓耗资源?
即程序占用CPU及内存过多,是对资源的一种浪费。客户使用虚拟主机时程序编写的不合理、错误严重,造成服务器负载急剧上升,极大的影响了正常客户的使用,就是耗资源。
耗资源分为耗用CPU资源和内存资源,2种。
2、为什么会出现耗资源?
(1)程序编写有问题。(一般为asp程序变量没有清空)
(2)数据库调用频繁。(常见的是access数据库问题)
(3)由于访问量或流量过大导致的耗内存问题引起的耗资源(此情况一般为大流量主机)
3、耗资源的影响。
(1)影响较轻的,会使客户网站访问慢。
(2)严重的会使IIS服务停止,网站无法访问。
4、耗资源处理方法?
通过观察程度客户耗资源的程度,进行处理:
(1)程度较轻:关闭其耗资源的程序;
(2)程度较重:关闭其耗资源的目录;
(3)严重:关闭asp权限。(相当于关闭站点)
5、耗资源客户的解决办法?
耗资源用户一般是网站为ACCESS数据库的用户。
主要存在的问题:
(1)数据库过大:根据微软的建议,ACCESS数据库不得超过30M。
解决方法:
1)要升级到SQLSERVER。因为sql是基于客户/服务器结构,这意味着服务器不用再执行客户端的任务,而access并不是基于客户/服务器结 构,除了处理数据库任务外,其还必须在各个客户端活动间划分处理器时间,因此也会造成系统负载非常的大。
2)压缩数据库。把数据库空间压缩到规定范围内。但是对于结构比较复杂的用户,压缩的效果不大,这种用户建议拆分数据库。
(2)由用户程序导致的耗资源。一般都是调用ACCESS数据库频繁或本身编写BUG导致。主要表现在:数据库长驻进程多,数据库调用完毕而没有相应的关 闭语句,造成连接长期占用无法释放而形成错误、程序变量再调用完毕后结束时没有进行清理。我们建议您尽快修改程序升级成为基于客户/服务器结构的SQL数 据库,或租用专门为高级客户量身定制的独享主机,由您独享一台服务器.以获得更高的系统资源。
6、耗资源与大流量的区别:
(1)大流量客户:进行大量的图片下载、广告互换、聊天等工作,造成带宽严重占用。
(2)耗资源客户:运行自己网站程序,造成服务器负载急剧上升,造成服务器无法正常服务。
(3)区别在与大流量客户是网络带宽方面,而耗资源客户是对服务器正常运行方面。
--------------------------------------------------------------------------
站点占用服务器资源的部分原因
1.有一个或多个ACCESS数据库在多次读写过程中损坏,微软的MDAC系统在写入这个损坏的ACCESS文件时,ASP线程处于BLOCK状态,结果其他线程只能等待,IIS被死锁了,全部的CPU时间都消耗在DLLHOST(ASP进程)中。
参考解决办法:
压缩和修复数据库
下载数据库文件--[如果是.asp的扩展名,请改为.mdb的扩展名]--用ACCESS打开--选择工具--数据库实用工具--压缩和修复数据库--[改回.asp的扩展名]--上传覆盖原来数据库文件
2.注册了不良的Com组件,特别是用VB开发的ACTIVE X控件,可能导致占用内存使用量不断增长
参考解决办法:尽量减少或避免非官方或是客户要求的不必要的组件
3.多媒体等文件下载占用服务器带宽
参考解决办法:停止下载
4.程序问题
需要及时的关闭不再使用的数据库,以避免一直占用服务器资源
在conn.asp 连接数据库字符串语句中加入如下
sub endConnection()
conn.close
set conn=nothing
end sub
其它程序问题:把IE选项里 显示友好HTTP错误信息 的勾取消掉,再访问网站看出现什么错误信息,然后再调试
5.上传重要的数据库等文件更新,由于正处于受访问状态,可能导致瞬间CPU占用率上升
一般此情况较少,若有出现此情况时,可能有必要先暂停站点,再作更新
6.ACCESS论坛大了以后就很容易出现数据库方面的问题,当你的论坛数据库在10M以上,帖子5万左右,可能就会出现数据库吃不消的情况
临时解决办法:定期删除多余的数据、压缩数据库,限制论坛灌水,甚至限制论坛注册。如果是动网论坛,可以使用论坛自带的分表储存功能,会有较好的效果
比较长远办法:更换论坛和数据库,一般都采用动网sql商业版本+MSSQL 的方案来解决
7.优化程序
上面的第1点最为主要,有的客户程序已用了一年半载,所以他一直坚决认为程序上没有问题,其实数据库使用久了,就可能会出现错误或是数据库臃肿过大,定期删除多余的数据、压缩数据库是有必要的,且有利于提高站点访问的速度
8.ACCESS 缺点:
安全性不够,加了用户级密码容易破解
C/S 结构下对服务器要求很高,否则容易造成 MDB 损坏
并发数255,但是对高强度操作适应性差,如果服务器不够好,网络不够好,编程的方法不够好,6-7个人同时访问就能导致 MDB 损坏或者并死
不能将 VBA 代码开发的软件系统直接编译成 EXE 可执行文件,不能脱离 ACCESS 或者 ACCESS RUNTIME 环境,该环境相对其他软件体积较大(50M左右)
三二互联专业提供香港VPS,美国VPS主机,香港云服务器租用等业务香港美国到大陆CN2 GIA速度最快