由於公司最近兩個Web網站做了負載均衡,但是緩存機制仍然是 Asp.Net 自帶的緩存,這樣就導致了每台Web 服務器記憶體中都有一份緩存,直接導致了多次請求DB資料庫,造成了DB連接數過高。

 

由於是兩個較大的網站兩台伺服器做負載均衡(負載平衡),所以,DB 的連接數也飆升,幾乎翻了3倍。

 

公司DB伺服器用的是 Sql Server 2008 R2 ,並且DB伺服器配置是相當的強悍的,連接數一度衝擊到740,真是讓人驚歎不已。雖然連結數強悍,但是前臺訪問的頁面 超時的 也是茫茫多,沒辦法,只能採用了緊急處理:
1. 加大程式中的緩存,特別是頁面頭部加上 OutPutCache 緩存。
2. 用上鏡像的備份DB伺服器,把2個網站的DB連結改到了鏡像的DB,這台鏡像DB和現在主DB是不在同一個機房的,目標就是容災和在高流量的情況下快速切換

 

雖然緊急處理了,連結數降低了下來,但是通過這次發現,Sql Server 2008 R2 的連接數還是很容易造成性能瓶頸的,瓶頸也就是400左右,超過400,就會造成部分超時等待,但是少於400,就會比較順暢。當然,這個是和伺服器配置有關的。

 

最根本的解決辦法,只能是把 MemberCache 給用上了。
 
來源:
http://www.cnblogs.com/xunziji/archive/2011/03/07/1975426.html
arrow
arrow
    全站熱搜

    戮克 發表在 痞客邦 留言(0) 人氣()