.Net下的分布式緩存(3)--如果我們沒有緩存會怎么樣

作者: 沙加  來源: 博客園  發布時間: 2010-08-10 09:33  閱讀: 2357 次  推薦: 0   原文鏈接   [收藏]  

  上回說到了Memcached的性能問題,的確,緩存不是萬能的,但沒有緩存是萬萬不能的?還真有這么干的. PlentyofFish就是這樣做的, 它也是互聯網上巨頭中為數不多的采用WISC(Windows + IIS + Sql server + C#)架構的網站, MS不能老拿MySpace說事, 現在當然不會放過這個機會大肆宣傳, 但是諷刺的是人家根本不用那些“看起來很美”的服務器控件,與其說是使用了.Net技術不如說是借用了這個平臺而已.

   他們的頁面輸出絕大多數都是使用構造字符串要不就是Response.Write出來的,簡單即是美,他們在寫程序的時候即是嚴格遵守這個規則,反過來想想CommunityServer里面多達7層的繼承關系的控件, 它看起來有點象是這個樣子:(基本的)(網頁的)(模版化的)(相冊基本模版化的)(相冊模版化的)(相冊可更換風格的)XXX控件,瞧這一長串定語,它在每一層繼承里面都實現了不同的特性, 結構其實還是蠻清晰的, POF有點象什么呢,手工打造的奧迪,性能沒的說,就是麻煩點。那些B4 Discuz!NT的朋友是不是應該反思一下了呢.
  話說回來, 這并不意味著那堆微軟件挖空心思弄出來的Control就沒有用了, 但對于中小應用來說我們更需要的是開發效率,再說負載量達不那么大,有過度優化之嫌, 合適的就是最好的,能快速弄出讓用戶滿意的東西才是最重要的.
  我們來看看它里面的一些值得玩味的地方吧:
  1. 千萬級的照片請求都是由他們的服務器來完成處理的,但是它們都被緩存在內存中,并且大小都在2KB以下.
  3. 使用Gzip技術雖然增加了30%的CPU開銷但從節省的帶寬情況來看是值得的.
  4. 沒有使用Asp.Net的緩存機制,因為數據更新太快了, 一旦它進入緩存就過期了.
  5. 大量使用 if,else 或者 while + Response.Write這樣的簡單語句來實現功能.
  6. 負載均衡(好象沒有誰不用的)
  每天3千萬的頁面訪問量,服務器只有2 個WebServer + 3個DB Server,優化功夫實在是了得.

其它具體的東西可以看這個Post.

相關文章:

.Net下的分布式緩存--從Discuz!NT的緩存設計談起

.Net下的分布式緩存(2)--如果我們沒有緩存會怎么樣

0
0
 
標簽:.NET 緩存
 
 

文章列表

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()