欢迎访问凯铧科技有限公司网站! |7X24服务热线:158-0160-3153
  • 阿里云服务器

    简单高效、处理能力可弹性伸缩的计算服务

    了解详情
当前位置:首页 > 常见问题 > 帮助中心 >
网站耗资源和脚本超时常见原因分析 2019-03-22 10:04:24
网站耗资源和脚本超时常见原因分析
 
用户购买阿里云独享云虚拟主机或渠道版共享云虚拟主机出现耗资源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个外键,一般主键作为表的唯一标识。当检索数据时,如果以主键的值来进行查找的话效率会比较高,而一些标志性的字段,如产品表的产品所属分类、用户表的用户等级等,如果在程序中经常要用到这些字段来进行检索数据,那么一般应该为这些字段建立索引,这样检索数据的时候性能会好很多。
 
 
如果问题还未能解决,请联系阿里云代理商凯铧互联。凯铧互联提供阿里云服务器/企业邮箱等产品的代购服务,同样的品质,更多贴心的服务,更实惠的价格。 阿里云代理商凯铧互联会为您提供一对一专业全面的技术服务,同时还能为您提供阿里云其他产品购买的专属折扣优惠。通过凯铧互联购买可以获得折上折优惠!若您需要帮助可以直接联系我方客服,阿里云代理商凯铧互联专业技术团队为您提供全面便捷专业的7x24技术服务。 电话专线:136-5130-9831,QQ:3398234753。
 
为什么选择我们:北京凯铧互联科技有限公司(简称凯铧互联)由多名前阿里云资深技术专家创立,核心员工来自阿里巴巴、腾讯等,作为阿里云,腾讯云百度云,金山云,华为云重要的合作伙伴,专注于为企业用户提供云计算及云计算的解决方案。总部设在北京,并在内蒙设有办事处。做为一家综合性方案商,凯铧互联向各行业用户提供基于云计算的各种解决方案。为用户获得优质服务的同时,秉承"专业规划、周到服务"的服务理念,根据用户的实际情况,充分考虑各种网络资源的特点及功效,为用户量身定做一套适合于其实际应用需求的网络应用方案。帮助用户利用互联网的力量展开新的营销方式,并大大缩短了项目实施周期,获得用户的一致好评。