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

牽著老婆滿街逛

嚴(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ⅴ天堂| 久久国产精品72免费观看| 亚洲欧美日韩中文在线制服| 一二三区精品| 亚洲免费婷婷| 久久免费偷拍视频| 欧美激情国产精品| 亚洲黄色免费| 一本大道久久a久久综合婷婷| 99re热这里只有精品免费视频| 99re6热在线精品视频播放速度| aⅴ色国产欧美| 欧美一区二区三区四区在线观看地址 | 韩国亚洲精品| 永久91嫩草亚洲精品人人| 在线观看国产精品网站| 99精品福利视频| 久久爱另类一区二区小说| 欧美激情视频一区二区三区在线播放 | 欧美成年人在线观看| 欧美日韩国产在线| 国产一区二区三区精品欧美日韩一区二区三区 | 免费成人黄色片| 日韩一级大片在线| 久久综合久久久| 国产精品久久午夜夜伦鲁鲁| 在线成人国产| 午夜在线观看免费一区| 亚洲国产专区| 久久国产精品99国产| 欧美日韩在线一区| 亚洲国产精品女人久久久| 香蕉久久一区二区不卡无毒影院| 欧美激情精品久久久久久大尺度| 亚洲男同1069视频| 欧美日韩在线视频首页| 亚洲日本一区二区三区| 久久久在线视频| 亚洲欧美日韩国产一区二区三区| 欧美成人精精品一区二区频| 国产偷国产偷亚洲高清97cao| 一本色道88久久加勒比精品| 久久亚洲图片| 欧美夜福利tv在线| 国产精品伦理| 正在播放欧美视频| 亚洲国产视频一区二区| 久久久久一区二区| 国内精品免费在线观看| 午夜在线视频观看日韩17c| 亚洲美女色禁图| 欧美激情视频在线播放| 亚洲国产欧美一区| 99视频在线精品国自产拍免费观看| 久久精品成人欧美大片古装| 国产精品毛片在线看| 这里只有精品在线播放| 亚洲日本一区二区| 蜜臀av性久久久久蜜臀aⅴ四虎| 黑人巨大精品欧美黑白配亚洲| 亚洲综合精品一区二区| aa亚洲婷婷| 国产精品男人爽免费视频1| 亚洲欧美中文另类| 亚洲永久免费| 国产亚洲精品久久久久婷婷瑜伽| 久久国产成人| 久久免费一区| 亚洲激情小视频| 亚洲精品乱码久久久久久按摩观| 欧美黄色视屏| 亚洲视频一区在线观看| 亚洲影视九九影院在线观看| 国产精品爽爽爽| 久久综合久久综合久久| 暖暖成人免费视频| 亚洲一区二区免费| 性感少妇一区| 亚洲国产欧美在线| 一二三区精品福利视频| 国产老肥熟一区二区三区| 久久精品亚洲一区| 噜噜噜久久亚洲精品国产品小说| 亚洲国产精品电影| 99re这里只有精品6| 国产精自产拍久久久久久蜜| 狂野欧美激情性xxxx欧美| 欧美xart系列高清| 午夜视频久久久| 久久这里有精品视频| 一本不卡影院| 久久精品国产96久久久香蕉| 亚洲精品日韩激情在线电影 | 欧美.日韩.国产.一区.二区| 久久亚洲综合色一区二区三区| 亚洲国产小视频在线观看| 一区二区三区免费观看| 伊人久久婷婷色综合98网| 99v久久综合狠狠综合久久| 国产自产女人91一区在线观看| 欧美激情精品久久久久久大尺度| 国产精品久久久久77777| 免费欧美在线| 国产精品夜夜夜| 亚洲韩国青草视频| 国产丝袜一区二区| 在线视频日韩| 99人久久精品视频最新地址| 性久久久久久久久久久久| 99国产精品| 狂野欧美性猛交xxxx巴西| 欧美亚洲免费在线| 欧美日韩福利视频| 欧美电影免费观看高清完整版| 美女国产一区| 午夜精品在线| 亚洲视屏在线播放| 免费成人高清| 久久久欧美一区二区| 国产精品第一页第二页第三页| 欧美激情影音先锋| 一区国产精品| 久久久久99| 久久在线免费观看视频| 国产乱肥老妇国产一区二| aa亚洲婷婷| 亚洲特色特黄| 欧美日韩黄色大片| 最新国产乱人伦偷精品免费网站| 在线日韩av| 久久成人人人人精品欧| 欧美专区在线播放| 国产精品一区二区三区免费观看| 亚洲最新在线视频| 亚洲午夜精品一区二区| 欧美日韩国产首页| 亚洲精品午夜精品| 中文在线不卡视频| 欧美日韩国产成人高清视频| 亚洲丰满在线| 日韩一级精品| 欧美日本三区| 99伊人成综合| 亚洲欧美影院| 国产一级揄自揄精品视频| 亚洲欧美日韩精品一区二区| 欧美一区二区三区视频免费| 国产精品久久久久久久久果冻传媒 | 最新中文字幕亚洲| 9久草视频在线视频精品| 欧美日韩理论| 亚洲一区二区三区免费视频| 校园激情久久| 国产丝袜一区二区| 免费国产一区二区| 99视频国产精品免费观看| 亚洲欧美日韩高清| 激情欧美一区二区三区在线观看| 久久亚洲精品一区| 亚洲日韩中文字幕在线播放| 一区二区三区日韩欧美精品| 国产精品午夜av在线| 久久精品国产清高在天天线| 欧美阿v一级看视频| 99精品热视频只有精品10| 国产精品成av人在线视午夜片| 亚洲欧美在线一区| 亚洲国产精品高清久久久| 亚洲影院高清在线| 韩日午夜在线资源一区二区| 美脚丝袜一区二区三区在线观看| 亚洲精品字幕| 久久久免费观看视频| 99re66热这里只有精品4| 国产精品尤物福利片在线观看| 久久久久久久久一区二区| 91久久中文| 欧美婷婷在线| 一本色道久久综合亚洲精品按摩 | 欧美肥婆在线| 亚洲欧美电影院| 91久久久亚洲精品| 久久久一本精品99久久精品66| 洋洋av久久久久久久一区| 国产在线精品一区二区中文| 欧美精品性视频| 久久久精品2019中文字幕神马| 99re6热只有精品免费观看| 美女在线一区二区| 欧美一区影院| 亚洲视频大全| 亚洲激情不卡| 影音先锋久久资源网| 国产麻豆精品久久一二三| 欧美另类一区| 欧美成人免费播放| 久久久之久亚州精品露出| 亚洲欧美中文另类| 亚洲一区欧美二区|