阿里云虚拟主机网站耗资源的原因及解决方法

作者阿里云代理 文章分类 分类:阿里云虚拟主机11 阅读次数 已被围观

客户问题:

阿里云虚拟主机网站耗资源的原因及解决方法

凯铧互联技术回复:

阿里云共享虚拟主机(例如现在售买的渠道版主机,万网M3,G享主机等)因是一台云服务器放置N个网站虚拟空间很容易出现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以上),性能就可能会出现问题,所以访问量大的网站一般都采用SQL Server、MySQL、Oracle等性能比较高的数据库引擎。

4、数据库的索引设置问题

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

本文适用于:
阿里云虚拟主机

 

以上就是阿里云虚拟主机网站耗资源的原因及解决方法的说明。阿里云代理商凯铧互联提供阿里云服务器/企业邮箱等阿里云全线产品的代购服务,为您提供阿里云产品专属优惠折扣,通过凯铧互联购买可以获得折上折,若您需要帮助可以直接联系我方客服!同样的品质,更多贴心的服务,阿里云代理商凯铧互联专业技术团队同时为您提供便捷专业的7x24一对一专业全面的技术服务。 电话专线:136-5130-9831,QQ:3398234753。

为什么选择我们:北京凯铧互联科技有限公司(简称凯铧互联)由多名前阿里云资深技术专家创立,核心员工来自阿里巴巴、腾讯等,作为阿里云,华为云,腾讯云,百度云,金山云,华为云重要的合作伙伴,专注于为企业用户提供云计算及基于云服务器的解决方案。总部设在北京,并在内蒙设有办事处。做为一家综合性方案商,凯铧互联向各行业用户提供基于云服务器的各种解决方案。为用户获得优质服务的同时,秉承"专业规划、周到服务"的服务理念,根据用户的实际情况,充分考虑各种网络资源的特点及功效,为用户量身定做一套适合于其实际应用需求的网络应用方案。帮助用户利用互联网的力量展开新的营销方式,并大大缩短了项目实施周期,获得用户的一致好评。 

本公司销售:阿里云、腾讯云、百度云、天翼云、金山大米云、金山企业云盘!可签订合同,开具发票。
?