<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Tin's Blog

    You are coming a long way, baby~Thinking, feeling, memory...

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      128 隨筆 :: 0 文章 :: 221 評論 :: 0 Trackbacks

    Twitter的水平擴展的一些關鍵點,雖然它是個RoR應用,但是這些建議絕對是放之四海而皆準的,非常好的總結(jié)。
    因為年初Twitter曾經(jīng)遇到了性能瓶頸,而且?guī)缀跏譄o策。當初很多人開始懷疑Ruby的性能問題,而后Twitter站起來了 ^__^

    有時間的朋友看看這個slide:http://www.slideshare.net/Blaine/scaling-twitter,沒有時間的看看我的摘要。

    開發(fā):
    1、一定要測試!一定要早點測試!一定要早點測試!否則你就死定了。不要存任何僥幸心理,從項目的開始就寫好測試。
    2、對任何部分都要測試。還是測試!
    3、性能測試要交給用戶來做。那樣才有意義。所以要做好log。用好分析工具:Munin(服務器內(nèi)存占用監(jiān)控)、Nagios(服務器服務網(wǎng)絡狀態(tài)監(jiān)控)、AWStats & Google Analytics、錯誤日志、發(fā)現(xiàn)了錯誤馬上進入問題跟蹤系統(tǒng)(Trac、Jira……太多了,但是最好有一個)。


    架構:
    1、使用可以分區(qū)的架構。按照架構上的功能清晰的分區(qū)。這意味著你可以通過替換一個實現(xiàn)來改進性能,因為性能和復雜度往往是不可兼得的。

    對于數(shù)據(jù)庫:
    1、盡量不要分布式數(shù)據(jù)庫,包括數(shù)據(jù)庫分區(qū)。最好通過提高單臺服務器的性能提升這個節(jié)點的性能。更重要的是查詢優(yōu)化。通過備份服務器解決單點故障。
    2、對where子句中的字段增加index。(這個當然了)
    3、扁平化查詢,比如一個user有很多朋友,查一個人的朋友如果通過外鍵會浪費很多性能。可以把ids序列化為1,2,3這樣,然后用like查詢速度更快。
    4、一定要優(yōu)化你的SQL,不要寄希望于ORM給你解決(不管是DataMapper、ActiveRecord或者UnitOfWork)。

    Cache:
    1、一定要考慮Cache,最重要的是領域?qū)ο蟮腃ache,一定要考慮Memcache,如Memcached。
    2、應該有90%的查詢可以Cache。
    3、但是要注意Cache實效問題(要及時標注實效),這個是個難點也是個重點。
    4、可以考慮用Message來標記實效(這樣可以保證異步,無阻塞的按照順序的讓數(shù)據(jù)失效),據(jù)稱也不是很難。

    Messaging:
    1、混合應用。不用去看Java的OpenFire了,即使它很好,完全可以考慮erlang的ejabberd了,俄羅斯的產(chǎn)物。
    2、排隊問題有很多解決方案:ActiveMQ、RabbitMQ、MySQL + Lightweight Locking、Drb(for ruby)

    posted on 2007-10-16 08:42 Tin 閱讀(3190) 評論(3)  編輯  收藏 所屬分類: 擴展與調(diào)優(yōu)RoR

    評論

    # re: Twitter的性能調(diào)優(yōu)的關鍵點 2007-10-16 09:10 太陽里的雪
    他們用的是ROR,然道還自己寫SQL,不用ActiveRecord?  回復  更多評論
      

    # re: Twitter的性能調(diào)優(yōu)的關鍵點 2007-10-16 13:06 Tin
    用RoR也要進行優(yōu)化呀。ActiveRecord也可以自己優(yōu)化SQL的。  回復  更多評論
      

    # re: Twitter的性能調(diào)優(yōu)的關鍵點 2007-12-21 09:33 bizairshop
    一定要早點測試沒錯 !
    http://www.bizairshop.com  回復  更多評論
      


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導航:
     
    主站蜘蛛池模板: 亚洲av无码一区二区三区网站| 精品免费久久久久久成人影院| 国产综合精品久久亚洲| 亚洲国产成人久久精品大牛影视| 免费观看的毛片大全| 亚洲中文久久精品无码1| 男女做羞羞的事视频免费观看无遮挡 | 亚洲人成网站在线观看播放动漫| 91人成网站色www免费下载| 亚洲免费视频网站| 50岁老女人的毛片免费观看| 亚洲国产福利精品一区二区| 毛片免费在线视频| 激情婷婷成人亚洲综合| 亚洲人成网站色在线入口| 最近免费中文字幕中文高清 | 亚洲区不卡顿区在线观看| 久久久久久av无码免费看大片| 久久精品国产精品亚洲精品| 久久国产色AV免费看| 亚洲一区在线视频观看| 国产免费小视频在线观看| 成人精品视频99在线观看免费| 亚洲综合精品香蕉久久网97| 成人无遮挡毛片免费看| 高清免费久久午夜精品| 久久精品国产亚洲av水果派| 无人影院手机版在线观看免费| 国产亚洲精品欧洲在线观看| 亚洲精品无码成人AAA片| 亚洲网站免费观看| 看一级毛片免费观看视频| 亚洲色自偷自拍另类小说 | 性xxxx视频播放免费| 成人免费视频一区二区| 97se亚洲综合在线| 国产日产成人免费视频在线观看| 99在线热播精品免费99热| 亚洲人成色777777老人头| 久久99国产亚洲精品观看| 午夜网站免费版在线观看|