青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

牽著老婆滿街逛

嚴(yán)以律己,寬以待人. 三思而后行.
GMail/GTalk: yanglinbo#google.com;
MSN/Email: tx7do#yahoo.com.cn;
QQ: 3 0 3 3 9 6 9 2 0 .

Facebook對memcached的提升

轉(zhuǎn)載自:http://shiningray.cn/scaling-memcached-at-facebook.html


如果你翻閱過一些關(guān)于大型網(wǎng)站擴(kuò)展(Scaling)的資料,那么你可能聽說過一個(gè)叫memcached的東西。memcached是一個(gè)高性能、分布式的內(nèi)存對象緩存系統(tǒng)。我們Facebook可能是世界上最大的memcached用戶了。我們利用memcached來減輕數(shù)據(jù)庫的負(fù)擔(dān)。memcached確實(shí)很快,但是我們還要讓他更快、更高效。我們使用了超過800臺服務(wù)器,提供超過28TB的內(nèi)存來服務(wù)于用戶。在過去的一年里,隨著Facebook的用戶量直線上升,我們遇到了一系列的擴(kuò)展問題。日益增長的需求使得我們必須對操作系統(tǒng)和memcached進(jìn)行一些修改,以獲得足夠的性能來為我們的用戶提供最好的體驗(yàn)。

因?yàn)槲覀冇泻脦浊_機(jī)器,每個(gè)都運(yùn)行了幾百個(gè)Apache進(jìn)程甚至更多,最終導(dǎo)致到memcached進(jìn)程的TCP鏈接有幾十萬個(gè)。這些鏈接本身并不是什么大問題,但是memcached為每個(gè)TCP鏈接分配內(nèi)存的方法卻很成問題。memcached為每個(gè)鏈接使用單獨(dú)的緩存進(jìn)行數(shù)據(jù)的讀寫。當(dāng)達(dá)到幾十萬鏈接的時(shí)候,這些累計(jì)起來達(dá)好幾個(gè)G——這些內(nèi)存其實(shí)可以更好地用于存儲用戶數(shù)據(jù)。為了收復(fù)這些內(nèi)存,我們實(shí)現(xiàn)了一個(gè)針對TCP和UDP套接字的每線程共享的鏈接緩存池。這個(gè)改變使每個(gè)服務(wù)器可以收回幾個(gè)G的內(nèi)存。

雖然TCP上我們改進(jìn)了內(nèi)存的使用效率,但我們還是轉(zhuǎn)向了UDP,目的是讓get(獲取)操作能降低網(wǎng)絡(luò)流量、讓multi-get(同時(shí)并行地獲取幾百個(gè)鍵值)能實(shí)現(xiàn)應(yīng)用程序級別的流量控制。我們發(fā)現(xiàn)Linux上到了一定負(fù)載之后,UDP的性能下降地很厲害。這是由于,當(dāng)從多個(gè)線程通過單個(gè)套接字傳遞數(shù)據(jù)時(shí),在UDP套接字鎖上產(chǎn)生的大量鎖競爭導(dǎo)致的。要通過分離鎖來修復(fù)內(nèi)核恐怕不太容易。所以,我們使用了分離的UDP套接字來傳遞回復(fù)(每個(gè)線程用一個(gè)答復(fù)套接字)。這樣改動(dòng)之后,我們就可以部署UDP同時(shí)后端性能不打折。

另一個(gè)Linux中的問題是到了一定負(fù)載后,某個(gè)核心可能因進(jìn)行網(wǎng)絡(luò)軟終端處理會(huì)飽和而限制了網(wǎng)絡(luò)IO。在Linux中,網(wǎng)絡(luò)中斷只會(huì)總是傳遞給某個(gè)核心,因此所有的接受軟終端的網(wǎng)絡(luò)處理都發(fā)生在該內(nèi)核上。另外,我們還發(fā)現(xiàn)某些網(wǎng)卡有過高的中斷頻率。我們通過引入網(wǎng)絡(luò)接口的“投機(jī)”輪詢解決了這兩個(gè)問題。在該模型中,我們組合了中斷驅(qū)動(dòng)和輪詢驅(qū)動(dòng)的網(wǎng)絡(luò)IO。一旦進(jìn)入網(wǎng)絡(luò)驅(qū)動(dòng)(通常是傳輸一個(gè)數(shù)據(jù)包時(shí))以及在進(jìn)程調(diào)度器的空閑循環(huán)的時(shí)候,對網(wǎng)絡(luò)接口進(jìn)行輪詢。另外,我們也用到了中斷(來控制延遲),不過網(wǎng)絡(luò)中斷用到的數(shù)量大大減少(一般通過大幅度提升中斷聯(lián)結(jié)閾值interrupt coalescing thresholds)。由于我們在每個(gè)核心上進(jìn)行網(wǎng)絡(luò)傳輸,同時(shí)由于在調(diào)度器的空閑循環(huán)中對網(wǎng)絡(luò)IO進(jìn)行輪詢,我們將網(wǎng)絡(luò)處理均勻地分散到每個(gè)核心上。

最后,當(dāng)開始部署8核機(jī)器的時(shí)候,我們在測試中發(fā)現(xiàn)了新的瓶頸。首先,memcached的stat工具集依賴于一個(gè)全局鎖。這在4核上已經(jīng)很令人討厭了,在8核上,這個(gè)鎖可以占用20-30%的CPU使用率。我們通過將stats工具集移入每個(gè)線程,并且需要的時(shí)候?qū)⒔Y(jié)果聚合起來。其次,我們發(fā)現(xiàn)隨著傳遞UDP數(shù)據(jù)包的線程數(shù)量的增加,性能卻在降低。最后在保護(hù)每個(gè)網(wǎng)絡(luò)設(shè)備的傳送隊(duì)列的鎖上發(fā)現(xiàn)了嚴(yán)重的爭用。數(shù)據(jù)包是由設(shè)備驅(qū)動(dòng)進(jìn)行入隊(duì)傳輸和出隊(duì)。該隊(duì)列由Linux的“netdevice”層來管理,它位于IP和設(shè)備驅(qū)動(dòng)之間。每次只能有一個(gè)數(shù)據(jù)包加入或移出隊(duì)列,這造成了嚴(yán)重的爭用。我們當(dāng)中的一位工程師修改了出隊(duì)算法,實(shí)現(xiàn)了傳輸?shù)呐砍鲫?duì),去掉了隊(duì)列鎖,然后批量傳送數(shù)據(jù)包。這個(gè)更正將請求鎖的開銷平攤到了多個(gè)數(shù)據(jù)包,顯著地減少了鎖爭用,這樣我們就能在8核系統(tǒng)上將memcached伸展至8線程。

做了這些修改之后,我們可以將memcached提升到每秒處理20萬個(gè)UDP請求,平均延遲降低為173微秒。可以達(dá)到的總吞吐量為30萬UDP請求/s,不過在這個(gè)請求速度上的延遲太高,因此在我們的系統(tǒng)中用處不大。對于普通版本的Linux和memcached上的50,000 UDP請求/s而言,這是個(gè)了不起的提升。

我們希望盡快將我們的修改集成到官方的memcached倉庫中去,我們決定在這之前,先將我們對memcached的修改發(fā)布到github上。

posted on 2010-08-20 00:14 楊粼波 閱讀(929) 評論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            红杏aⅴ成人免费视频| 欧美高清视频在线| 久久亚洲一区二区三区四区| 韩日精品视频一区| 国产亚洲综合精品| 美女成人午夜| 欧美精品三级日韩久久| 亚洲少妇自拍| 性欧美8khd高清极品| 伊人夜夜躁av伊人久久| 亚洲激情视频在线播放| 亚洲精品久久嫩草网站秘色 | 国产综合香蕉五月婷在线| 欧美影院成人| 欧美jizz19hd性欧美| 亚洲欧美日韩国产综合在线| 久久国产婷婷国产香蕉| 亚洲精品中文在线| 久久高清国产| 亚洲欧美成人一区二区在线电影 | 亚洲欧美怡红院| 亚洲黄色大片| 翔田千里一区二区| 亚洲一区二区三区高清| 美日韩精品视频免费看| 久久疯狂做爰流白浆xx| 国产精品久久福利| 一区二区三区高清| 99热在这里有精品免费| 久久久亚洲一区| 蜜桃av噜噜一区| 国产日韩一区在线| 欧美在线一区二区三区| 欧美一区二区三区免费大片| 欧美日韩综合精品| a4yy欧美一区二区三区| 在线视频中文亚洲| 欧美视频成人| 亚洲午夜极品| 久久在线91| 亚洲精品一区二区三区福利| 老司机免费视频一区二区三区| 久久女同精品一区二区| 亚洲黄色成人网| 美日韩在线观看| 狠狠久久亚洲欧美| 久久婷婷色综合| 亚洲狼人综合| 欧美在现视频| 亚洲人成7777| 国产一区二区精品在线观看| 久久精品二区亚洲w码| 亚洲激情成人在线| 亚洲欧美另类国产| 国产综合一区二区| 国产精品xnxxcom| 另类激情亚洲| 欧美亚洲视频| 亚洲无线观看| 亚洲免费观看| 亚洲高清视频一区二区| 久久亚洲精品一区二区| 亚洲一区二区三区精品视频| 在线成人国产| 国外视频精品毛片| 国产毛片久久| 国产精品理论片| 国产精品视频网| 国产精品扒开腿做爽爽爽软件 | 国产精品在线看| 国产精品r级在线| 国产精品久久久久久久久久直播| 欧美 日韩 国产在线| 麻豆成人在线| 欧美3dxxxxhd| 欧美激情第一页xxx| 欧美激情一级片一区二区| 欧美日韩亚洲网| 亚洲综合电影| 久久亚洲图片| 国产精品久久午夜| 伊人激情综合| 欧美日精品一区视频| 欧美日韩亚洲综合| 激情久久五月天| 中文成人激情娱乐网| 欧美在线视频全部完| 亚洲高清av在线| 销魂美女一区二区三区视频在线| 美女免费视频一区| 国产欧美视频一区二区| 亚洲日本中文字幕| 免费不卡中文字幕视频| 午夜精品久久久久久久白皮肤 | 亚洲三级色网| 亚洲一区激情| 欧美区一区二区三区| 国产日韩欧美三级| 亚洲精品一品区二品区三品区| 亚洲欧美文学| 亚洲美女91| 免费人成精品欧美精品| 国产亚洲激情| 久久精品人人做人人爽| 亚洲精品美女久久7777777| 欧美伊人久久| 国内精品久久久久影院薰衣草| 亚洲自啪免费| 日韩午夜在线电影| 欧美黑人一区二区三区| 1024日韩| 亚洲大胆人体视频| 久久久青草婷婷精品综合日韩| 国产欧美1区2区3区| 亚洲女人小视频在线观看| 日韩图片一区| 欧美精品国产| 亚洲欧美日韩成人| 亚洲在线视频观看| 国产人久久人人人人爽| 久久久之久亚州精品露出| 久久久久免费| 在线视频你懂得一区二区三区| 亚洲精品欧美精品| 欧美激情区在线播放| 美日韩精品免费| 日韩一级黄色av| 亚洲欧美日韩一区二区三区在线观看| 国产乱码精品一区二区三区五月婷 | 久久嫩草精品久久久精品一| 亚洲激情精品| 欧美一区2区三区4区公司二百| 精品成人在线视频| 亚洲校园激情| 亚洲美女电影在线| 欧美一区激情视频在线观看| 亚洲精品小视频| 免费成人在线观看视频| 亚洲一区二区三区精品在线观看| 久久久欧美一区二区| 性一交一乱一区二区洋洋av| 欧美xxx成人| 老司机午夜精品视频| 国产日韩欧美综合在线| 一区二区三区国产盗摄| 亚洲三级观看| 乱人伦精品视频在线观看| 久久精品免视看| 国产亚洲aⅴaaaaaa毛片| 亚洲视频在线看| 国产综合色在线| 一区二区三区高清不卡| 亚洲全部视频| 欧美高清在线视频| 久久久精品欧美丰满| 欧美人在线观看| 亚洲女女做受ⅹxx高潮| 欧美与黑人午夜性猛交久久久| 欧美视频在线观看免费| 亚洲五月六月| 久久久视频精品| 一区二区三区四区蜜桃| 国产日韩亚洲| 欧美激情1区2区3区| 亚洲一区二区动漫| 久久亚洲精选| 性欧美videos另类喷潮| 国模吧视频一区| 欧美午夜精品电影| 久久亚洲风情| 亚洲欧美视频在线观看| 好看不卡的中文字幕| 欧美jizzhd精品欧美巨大免费| 日韩香蕉视频| 蜜桃av综合| 久久精品99久久香蕉国产色戒| 亚洲片区在线| 激情偷拍久久| 国产日韩欧美精品综合| 欧美视频久久| 国产精品福利影院| 欧美区二区三区| 欧美高清一区二区| 蜜桃av综合| 免费观看日韩av| 免费久久99精品国产自| 欧美在线影院在线视频| 性欧美18~19sex高清播放| 一区二区三区视频观看| 在线一区二区三区四区五区| 亚洲精品久久久久久久久| 欧美激情一区二区三区四区| 免费在线观看日韩欧美| 欧美激情 亚洲a∨综合| 亚洲第一成人在线| 亚洲欧洲日夜超级视频| 一区二区高清| 欧美一区亚洲一区| 你懂的国产精品永久在线| 欧美成人综合在线|