阿里云虚拟主机网站耗资源和脚本超时常见原因分析

发布时间:2019-09-09 14:43:58

阿里云虚拟主机分独享云虚拟主机与共享云虚拟主机两大系列,但都会出现cpu或内存资源耗光跑满,导致虚机被关停。
耗资源和脚本超时产生的原因
1、网站程序出现死循环。
2、网站程序有嵌套查询。
3、网站采用access数据库,数据库较大。
4、网站数据库索引较差。
以上问题都会引起服务器资源浪费,甚至耗资源异常情况。
解决方案
下边分别对以上四种情况提出解决方案
1.程序死循环:
出现死循环很多情况下是因为程序缺少必要的检测和判断条件导致,这种情况需网站开发对站点程序的代码进行检查和完善,阿里云访问日志也会提供一些信息帮助。
2.程序有嵌套查询:
嵌套查询代码示例:
    sql = "select * from a"
    set rs = server.createobject("adodb.recordset")
    rs.open sql,conn,1,1
    while not rs.eof
            sql2 = "select * from b where fid=" & rs("id")
            set rs2 = server.createobject("adodb.recordset")
            rs2.open sql2,conn,1,1 '使用嵌套查询,效率会出现下降
                  while not rs2.eof
                    response.write rs("id") & "=" & rs2("name")
                    rs2.movenext
                  wend
            rs.movenext
    wend
  嵌套查询会造成数据库的查询量呈指数级上升,导致一个程序的效率非常低,上面的程序如果改为连表操作,查询数据库的次数会少很多,并且在设计数据库的时候应该将 b 表的 fid 字段建立索引,否则连表查询的时候性能会差很多。
  <%
    sql = "select a.id ,b.name from a left join b on b.fid=a.id" '使用连表操作,并用具体的字段名代替 *,程序是高效很多
    set rs = server.createobject("adodb.recordset")
    rs.open sql,conn,1,1
    while not rs.eof
            response.write rs("id") & "=" & rs("name")
            rs.movenext
    wend
  %>
3.网站采用 access 数据库,数据库的容量比较大:
如果采用access数据库,当数据库的容量比较大(比如超过 100M 以上),性能就可能会出现问题,所以访问量大的网站一般都采用 sqlserver、mysql、oracle 等性能比较高的数据库引擎。
4.数据库的索引没健好:

一个表至少有一个主键和N个外键,一般主键作为表的唯一标识。当检索数据时,如果以主键的值来进行查找的话效率会比较高,而一些标志性的字段,如产品表的产品所属分类、用户表的用户等级等,如果在程序中经常要用到这些字段来进行检索数据,那么一般应该为这些字段建立索引,这样检索数据的时候性能会好很多。

附:何谓耗资源

即程序占用服务器CPU或内存资源过多,是对资源的一种浪费。客户使用虚拟主机时程序编写的不合理、错误严重,造成服务器负载急剧上升,极大的影响了正常客户的使用,就是耗资源。耗资源分为耗用 CPU 资源和内存资源二种。

 

如果以上回复对您的问题还未能解决,请联系凯铧互联售后技术支持。阿里云代理商凯铧互联提供阿里云服务器/企业邮箱等产品的代购服务,同样的品质,更多贴心的服务,更实惠的价格。 阿里云代理商凯铧互联会为您提供一对一专业全面的技术服务,同时还能为您提供阿里云其他产品购买的专属折扣优惠。通过凯铧互联购买可以获得折上折优惠!若您需要帮助可以直接联系我方客服,阿里云代理商凯铧互联专业技术团队为您提供全面便捷专业的7x24技术服务。 电话专线:136-5130-9831,QQ:3398234753。
为什么选择我们:北京凯铧互联科技有限公司(简称凯铧互联)由多名前阿里云资深技术专家创立,核心员工来自阿里巴巴、腾讯服务器运维团队,团队90%的成员均是超过10年具备专业运维经验的精英。作为阿里云,腾讯云,百度云,金山云,华为云重要的合作伙伴,凯铧互联专注于为企业用户提供云计算及云服务器解决方案。公司总部设在北京,并在内蒙设有办事处,服务全国各地企业,与互联网专业公司及主流服务商建立了良好合作关系。
  凯铧互联始终坚持帮助企业节省成本、提高效率、创造价值的原则,力求为企业及创业型团队 提供可靠、安全、稳定的运维服务,与之共同成长。做为一家综合性方案商,为用户获得优质服务的同时,秉承"专业规划、周到服务"的服务理念,根据用户的实际情况,充分考虑各种网络资源的特点及功效,为用户量身定做一套适合于其实际应用需求的网络应用方案。帮助用户利用互联网的力量展开新的营销方式,并大大缩短了项目实施周期,获得用户的一致好评!