走啊走
来学wordpress建站吧

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

独享云虚拟主机与共享云虚拟主机出现耗资源cpu跑满,或者因为耗资源被关停。

问题原因

1、程序出现死循环。

2、程序有嵌套查询。

3、采用access数据库,数据库较大。

4、数据库索引较差。

以上问题都会引起服务器资源浪费,甚至耗资源异常情况。

解决方案

1.程序死循环。

	
	
  1. 出现死循环很多情况下是因为程序缺少必要的检测和判断条件导致,这种情况需网站开发对站点程序的代码进行检查和完善。

2.程序有嵌套查询

	
	
  1. 嵌套查询代码示例:
  2. sql = "select * from a"
  3. set rs = server.createobject("adodb.recordset")
  4. rs.open sql,conn,1,1
  5. while not rs.eof
  6. sql2 = "select * from b where fid=" & rs("id")
  7. set rs2 = server.createobject("adodb.recordset")
  8. rs2.open sql2,conn,1,1 '使用嵌套查询,效率会出现下降
  9. while not rs2.eof
  10. response.write rs("id") & "=" & rs2("name")
  11. rs2.movenext
  12. wend
  13. rs.movenext
  14. wend
  15. 嵌套查询会造成数据库的查询量呈指数级上升,导致一个程序的效率非常低,上面的程序如果改为连表操作,查询数据库的次数会少很多,并且在设计数据库的时候应该将 b 表的 fid 字段建立索引,否则连表查询的时候性能会差很多。
  16. <%
  17. sql = "select a.id ,b.name from a left join b on b.fid=a.id" '使用连表操作,并用具体的字段名代替 *,程序是高效很多
  18. set rs = server.createobject("adodb.recordset")
  19. rs.open sql,conn,1,1
  20. while not rs.eof
  21. response.write rs("id") & "=" & rs("name")
  22. rs.movenext
  23. wend
  24. %>

3.网站采用 access 数据库,数据库的容量比较大

	
	
  1. 如果采用access数据库,当数据库的容量比较大(比如超过 100M 以上),性能就可能会出现问题,所以访问量大的网站一般都采用 sqlservermysqloracle 等性能比较高的数据库引擎。

4.数据库的索引没健好。

	
	
  1. 一个表至少有一个主键和N个外键,一般
微信订阅号:wordpress8—WordPress建站吧 » 阿里云虚拟主机网站耗资源和脚本超时常见原因分析

评论 抢沙发

#快捷签到点我#

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址


走啊走—【WordPress建站吧,轻松学建站!关注微信订阅号:wordpress8】

wordpress建站安装》联系我们
[关闭广告]