網(wǎng)站建設(shè)TEL: 4006-3721-06     |   業(yè)務(wù)控制臺 |  返回首頁 | 
文章熱搜: 案例 HTTPS CDN 掛馬 網(wǎng)站被掛馬 FTP刪不掉 網(wǎng)站備案 正版網(wǎng)站 彈窗制作 優(yōu)化排名
首頁 > 網(wǎng)站建設(shè) > 網(wǎng)站空間 > 網(wǎng)站出現(xiàn)耗資源的原因及解決方法

網(wǎng)站出現(xiàn)耗資源的原因及解決方法

作者:wangjuan 來源:www.gouwanmei.com 時(shí)間:2020-5-18 14:29:48 點(diǎn)擊:

經(jīng)常有人會問:我的網(wǎng)站是個(gè)很普通的網(wǎng)站,沒有多少訪問量,為什么還經(jīng)常提示耗資源?是不是主機(jī)問題等。今天小編就這個(gè)問題給大家解答下:...
1.什么是耗資源?

     耗資源即程序占用 CPU 及內(nèi)存過多,是對資源的一種浪費(fèi)。客戶使用虛擬主機(jī)時(shí)程序編寫的不合理、錯(cuò)誤嚴(yán)重,造成服務(wù)器負(fù)載急劇上升,極大的影響了正?蛻舻氖褂,就是耗資源(客戶程序故障)。耗資源(客戶程序故障)分為耗用 CPU 資源和內(nèi)存資源兩種。
2.什么原因?qū)е碌暮馁Y源?

   .程序出現(xiàn)死循環(huán)

    在很多情況下,出現(xiàn)死循環(huán)是因?yàn)槌绦蛉鄙俦匾臋z測和判斷條件導(dǎo)致,這種情況需網(wǎng)站開發(fā)者對站點(diǎn)程序的代碼進(jìn)行檢查和完善。

    .程序有嵌套查詢

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 '   //使用嵌套查詢,效率會出現(xiàn)下降
          while not rs2.eof
            response.write rs("id") & "=" & rs2("name")
            rs2.movenext
          wend
      rs.movenext
wend



    嵌套查詢會造成數(shù)據(jù)庫的查詢量呈指數(shù)級上升,導(dǎo)致一個(gè)程序的查詢效率非常低。若程序改為連表操作,查詢數(shù)據(jù)庫的次數(shù)會少很多,并且在設(shè)計(jì)數(shù)據(jù)庫的時(shí)候應(yīng)該將b表的fid字段建立索引,否則連表查詢的時(shí)候性能會差很多,代碼示例如下所示。

<%
  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
%>
    .ACCESS數(shù)據(jù)庫的容量比較大
    如果網(wǎng)站采用ACCESS數(shù)據(jù)庫,當(dāng)數(shù)據(jù)庫的容量比較大時(shí)(比如超過100M以上),性能就可能會出現(xiàn)問題,所以訪問量大的網(wǎng)站一般都采用SQL Server、MySQL、Oracle等性能比較高的數(shù)據(jù)庫引擎。

     .數(shù)據(jù)庫的索引設(shè)置問題
    一個(gè)表至少有一個(gè)主鍵和N個(gè)外鍵,一般主鍵作為表的唯一標(biāo)識。當(dāng)檢索數(shù)據(jù)時(shí),如果以主鍵的值來進(jìn)行查找的話效率會比較高,而一些標(biāo)志性的字段,例如產(chǎn)品表的產(chǎn)品所屬分類、用戶表的用戶等級等,在程序中經(jīng)常要用到這些字段來進(jìn)行檢索數(shù)據(jù)。那么,一般應(yīng)該給這些字段建立索引,這樣檢索數(shù)據(jù)的時(shí)候性能會好很多。

相關(guān)文章
視頻看后臺
本類熱門
本類推薦
網(wǎng)站制作 SAAS建站平臺 網(wǎng)站制作教學(xué)
  • 環(huán)宇網(wǎng)絡(luò) © 2020 版權(quán)所有 All Rights Reserved.環(huán)宇網(wǎng)絡(luò)助力企業(yè)互聯(lián)網(wǎng)品牌營銷
  • 網(wǎng)址:www.thephoenixmedia.com 聯(lián)系TEL:4006-3721-06,郵箱:kefu@huanyudns.cn 京ICP備05034846號
  • 本頁面更新時(shí)間:2020-7-17