原创 騰訊微博的架構
轉自:http://www.heyues.com/tag/php%E5%A4%A7%E4%BC%9Appt/ 潘少林,騰訊微博的架構 總結1:關於騰訊:加班很多,昨晚加班,上午加班,中午過來,演講完還得加班。騰訊最大的誘惑:10億給
原创 cassandra的系統結構分析
針對0.6系列版本cassandra總體的設計感覺偏向於不需要人工介入的大規模集羣,有個幾百臺上千臺,局部有些抖動不會影響整體的服務;如果集羣規模較小,幾十臺的規模,而且在線上run,它提供的很多操作都相當有風險,而且p2p的通信也感覺過
原创 搜索中的排序優化
搜索引擎中有一個分頁的需求,按照某個字段排序,從start位置開始,返回num個doc;算法接口: void sort_result(dococument docs[], int size, int start, int num, int
原创 大IO操作引起ksearch性能波動的問題分析
1. log 分析 主要是影響了系統cache,讀log文件導致searcher的mmap內存被swap到硬盤,引起超時。側重於IO層面2. 大log文件 刪除主要是kernel整理硬盤快,進入了內核態,而且執行時間較長;導致用戶態的se
原创 strace gdb與ptrace
學習, 轉貼自: http://blog.csdn.net/Javadino/archive/2008/09/06/2891413.aspx http://blog.csdn.net/Javadino/archive/2008/09/0
原创 gcc詳解
-g是指產生系統format的debug信息,gdb,dbx等調試工具都能識別; -ggdb產生的debug信息更加豐富,但只有gdb能識別。 添加了debug信息後,可執行文件的大小會明顯增大。 -g/-ggdb可以和-O選項一起使用
原创 一種無鎖的併發讀寫機制
ksearch系統中有兩個角色會共享數據:searcher和updater,searcher是多線程讀,對外提供檢索服務;updater是單線程,對外提供更新服務。searcher和updater是一臺機器上的兩個獨立進程,通過共享內存實
原创 redis的內存使用
前一陣聽人說redis的內存利用率不高,平均下來每個keyvalue的附加空間佔用過多;特別對小keyvalue來說,比例較高。 dump中心那邊有用redis做附表存儲查詢:每個value包含17個字段,幾乎都是int類型,用proto
原创 linux IO行爲:page cache and pdflush
轉載自: http://niyunjiu.iteye.com/blog/824161, http://www.westnet.com/~gsmith/content/linux-pdflush.htm 內核通過一組內核線程pdflus
原创 http長連接200萬嘗試及調優
對於一個server,我們一般考慮他所能支撐的qps,但有那麼一種應用, 我們需要關注的是它能支撐的連接數個數,而並非qps,當然qps也是我們需要考慮的性能點之一。這種應用常見於消息推送系統,也稱爲comet應用,比如聊天室或即時消息
原创 hadoop streaming 技術整理
這兩年零零散散用hadoop做了些項目,也看了些hadoop相關資料,每回都是現學現用。這回做kbuild項目,要用到hadoop streaming,發現很多東西又忘了,趁這次機會把hadoop相關的知識再過一遍整理下。 hadoop由
原创 關於文件cache和持久化問題
FILE系列函數: fopen,fclose,fflush,setbuf,fwrite,fread 通過fopen打開的文件,默認在用戶空間會開一個buf,一般是4K或8K, fwrite的數據會寫到這塊用戶空間的buf中, 此時數據
原创 各種各樣的樹
最近對存儲/更新/檢索 比較感興趣,樹是傳統數據庫實現索引的主要方式,所以抽空整理學習一下。 最基本的二叉查找樹: http://zh.wikipedia.org/wiki/%E4%BA%8C%E5%85%83%E6%90%9C%E5
原创 socket文件的作用
轉貼自:http://socol.iteye.com/blog/621392 socket文件,只有在本級通信(AF_UNIX)時纔會用到;對於遠程TCP通信(AF_INET)來說,是不存在sock文件一說的。 socket文件更
原创 ksearch系統開發過程中遇到的KFC性能問題
前天ksearch性能壓測過程中發現一個很奇怪的問題,跟了3天,case做了無數個,終於發現問題所在,還是KFC(KuaFu Communication)的問題。然後想起來,去年實時搜索上線前夕,也遇到一個很奇怪的問題,最後定位出來也是K