網(wǎng)站訪問量大+數(shù)據(jù)量大=>看似簡單的SQL語句也會搞掛系統(tǒng)
當(dāng)前位置:點晴教程→知識管理交流
→『 技術(shù)文檔交流 』
一個簡單的SQL語句:select count(1) from tableName with(nolock) where columnA=A and columnB=B and columnC=C,被一個關(guān)鍵頁面調(diào)用,雖然加了Memcache緩存,但由于數(shù)據(jù)結(jié)構(gòu)設(shè)計問題,造成了數(shù)據(jù)庫服務(wù)器CPU負(fù)載高達(dá)100%,關(guān)鍵頁面響應(yīng)超時,造成極其不好的影響。 究其原因,缺少索引,數(shù)據(jù)結(jié)構(gòu)設(shè)計之初,沒有為該表建立索引,而后又忽略了該表僅測試數(shù)據(jù)就達(dá)到五六百萬級別,以每天25萬左右的速度增長。測試時,由于沒有訪問量,性能問題沒被發(fā)現(xiàn);而上線前的壓力測試,由于測試帳號只有有限的幾個,而系統(tǒng)根據(jù)帳號增加了Memcache緩存,因此該問題又被忽略了;直到系統(tǒng)上線第二天,真實的用戶訪問量上來了,該問題才暴露無遺,客服電話很快被打爆。 為了徹底解決該問題,花費了幾個工作日,血淋淋的教訓(xùn)。如果開發(fā)之前設(shè)計好數(shù)據(jù)結(jié)構(gòu)建好索引、如果開發(fā)測試的時候關(guān)注下數(shù)據(jù)量、如果把寫好的SQL語句放到查詢分析器分析下性能...做設(shè)計寫程序,意識不能少,開發(fā)前的設(shè)計要做到位,開發(fā)流程要把握好,否則發(fā)生杯具只能自己埋單了。 本文來自:Web技術(shù)之家(www.waweb.cn) 詳細(xì)出處參考:http://www.waweb.cn/article/60440.htm
該文章在 2011/1/17 12:26:32 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |