2011/5/18工作笔记
追求極致的系統效能
一、IDC(互聯網數據中心)計算效率,采用PUE(電源使用效率)= 數據中心總設備能耗/IT設備能耗,PUE是一個比率,基準是2,越接近1表明能效水平越好。
二、應用系統的性能優化:
1.百度采用BVC(Baidu Volunteer Computing百度網格計算)
2.可采用Protocalbuffer
Google定義的一套數據協議,用于數據的結構化和序列化。
1、平臺無關、語言無關。
2、二進制、數據自描述。
3、提供了完整詳細的操作API。
4、高性能 比xml要快20-100倍
5、尺寸小 比xml要小3-10倍 –高可擴展性
6、數據自描述、前后兼容
適用于
1、不同的平臺、系統、語言、模塊之間高效的數據交互
2、用于構建大型的復雜系統,降低數據層面的耦合度和復雜度
這里要特別著重說的是protocolBuffer是一種數據協議,就像tcp/ip協議一樣,只要是遵守此協議的任何系統之間都能高效的進行數據交互。
第二個特別要說的是 數據自描述。 也就是說拿到任何一個protocolBuffer的數據文件,我們不需要任何其他的輔助信息,就能順利的解析出其中的數據信息。
這2點是最本質的。
google同時提供了一套代碼生成工具,能根據用戶自定義的.proto文件,生成c++/java/python的 代碼,用于調用protocolBuffer的內核API . 給我們使用提供了很大的便利
.proto文件 詳細請參考 官方網站 http://code.google.com/intl/zh-CN/apis/protocolbuffers/docs/overview.html
redis
是一個高性能的key-value數據庫。 redis的出現,很大程度補償了memcached這類keyvalue存儲的不足,在部分場合可以對關系數據庫起到很好的補充作用。它提供了Python,Ruby,Erlang,PHP客戶端,使用很方便。問題是這個項目還很新,可能還不足夠穩定,而且沒有在實際的一些大型系統應用的實例。此外,缺乏mc中批量get也是比較大的問題,始終批量獲取跟多次獲取的網絡開銷是不一樣的。性能測試結果:
SET操作每秒鐘 110000 次,GET操作每秒鐘 81000 次,服務器配置如下:
Linux 2.6, Xeon X3320 2.5Ghz.
stackoverflow 網站使用 Redis 做為緩存服務器。
三、QPS(Quality Positioning Services)三要素:線程、響應實踐、資源瓶頸
轉載于:https://www.cnblogs.com/shipengzhi/archive/2011/05/19/2050630.html
總結
以上是生活随笔為你收集整理的2011/5/18工作笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Xtragrd 取消当前行
- 下一篇: 逆波兰表达式简单介绍