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