亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 8387 | 回復: 0
打印 上一主題 下一主題

[C++] boost.asio開發(fā)的key-value服務 [復制鏈接]

論壇徽章:
0
跳轉到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2011-04-27 14:34 |只看該作者 |倒序瀏覽
本帖最后由 bs 于 2011-10-17 16:33 編輯

最近閑來搗鼓了一下boost以及其asio庫,總體感覺boost是越來越全面了,
很多時候在開發(fā)效率上已經(jīng)接近java,故花時間弄一個key-value服務,結果
勉強不算太差,核心環(huán)節(jié)主要是AIO以及多線程,故斗膽獻丑請大家多多指教。











Memcpp v1.0.0
特點:
一、Memcpp內建定時清理機制,保證非過期數(shù)據(jù)安全,正常情況不會以任何方式刪除數(shù)據(jù)。
二、Memcpp采用高性能異步IO網(wǎng)絡連接,支持多線程大并發(fā)訪問。
三、Memcpp支持Memcached協(xié)議下常用的set、get、delete、add、replace操作。
四、Memcpp性能較為接近Memcached,綜合性能達到單線程Memcahed的90%。
五、完全兼容windows以及l(fā)inux等平臺。



技術細節(jié):
一、使用boost::asio異步IO,更強的并發(fā)連接能力。
二、連接環(huán)節(jié)session使用boost:bject_pool(對象池)+boost::shared_ptr(智能指針)方式,確保連接對象穩(wěn)定與高性能。
三、兼容Memcached通訊協(xié)議。
四、對數(shù)字與字符鍵進行分離存儲,區(qū)別優(yōu)化。
五、存儲層采用boost::pool_allocator內存池分配技術,保證高性能以及避免內存碎片產(chǎn)生。
六、存儲間使用讀寫鎖保障線程同步與安全。
七、使用boost::unordered_map高速存儲介質(hash表)。
八、內建Timer定時清理過期數(shù)據(jù)。
九、全部采用c++ boost或stl標準庫,兼容完好。

流程圖:


Linux環(huán)境下簡單性能測試與對比:
這邊使用一個php腳本:

  1. $mem = new Memcache();
  2. //Memcpp
  3. connect('127.0.0.1', 11210);
  4. //Memcached
  5. //$mem->connect('localhost', 11211);

  6. $t = microtime(true);
  7. for($i = 0; $i < 50000; ++$i ) $mem->set($i,'test');
  8. for($i = 0; $i < 50000; ++$i ) $mem->get($i);
  9. echo '  run time:' ,microtime(true) - $t;
復制代碼
分別對Memcpp和Memcached測試50000條讀寫操作,性能對比結果如下(秒):
//Memcpp
run time:2.4199938774109

//Memcached
run time:2.1138839607239

結論:
由于保守地使用了讀寫鎖,Memcpp綜合性能相較Memcached要遜色一些,其次在Linux下使用異步IO方面,boost.asio的性能還是不如libevent強大。


blog:
http://lajabs.net/memcpp





./bin/Release windows生成的可執(zhí)行文件 Memcpp.exe
./linux linux下的安裝文件,直接
# make


運行方法 程序名 listen IP port

linux
# memcpp 127.0.0.1 11210

windows
&gt; memcpp 127.0.0.1 11210
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術有限公司. 版權所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉載本站內容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP