国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

LevelDB性能分析和表現(xiàn)

數(shù)據(jù)庫 其他數(shù)據(jù)庫
Leveldb是一個google實(shí)現(xiàn)的非常高效的kv數(shù)據(jù)庫,目前的版本1.2能夠支持billion級別的數(shù)據(jù)量了。 在這個數(shù)量級別下還有著非常高的性能,主要?dú)w功于它的良好的設(shè)計(jì)。特別是LSM算法。

Leveldb是一個google實(shí)現(xiàn)的非常高效的kv數(shù)據(jù)庫,目前的版本1.2能夠支持billion級別的數(shù)據(jù)量了。 在這個數(shù)量級別下還有著非常高的性能,主要?dú)w功于它的良好的設(shè)計(jì)。特別是LSM算法。

那么數(shù)據(jù)庫最怕的的隨機(jī)IO他是如何解決的呢?

先說隨機(jī)寫,它的寫都是先記錄到日志文件去的,在日志文件滿之前只是簡單的更新memtable,那么就把隨機(jī)寫轉(zhuǎn)化成了順序?qū)憽T谌罩緷M了后,把日志里面的數(shù)據(jù)排序?qū)懗蓅st表同時和之前的sst進(jìn)行合并,這個動作也是順序讀和寫。大家都知道傳統(tǒng)磁盤raid的順序讀寫吞吐量是很大的,100M左右是沒有問題。在寫日志文件的時候,用到是buffer IO,也就是說如果操作系統(tǒng)有足夠的內(nèi)存,這個讀寫全部由操作系統(tǒng)緩沖,效果非常好。即使是sync寫模式,也是以數(shù)據(jù)累計(jì)到4K為一個單位寫的,所以效率高。

那么隨機(jī)讀呢?這個它解決不了。但是ssd盤最擅長隨機(jī)讀了。這個硬件很自然的解決了這個問題。

所以leveldb的絕配是ssd盤的raid.

leveldb標(biāo)準(zhǔn)版本編譯見淺談LevelDB在ubuntu 11.04下編譯失敗的問題,由于標(biāo)準(zhǔn)版本用到了c++ 0x的特性,在RHEL平臺下沒得到支持,所以為了移植性, basho為它做了標(biāo)準(zhǔn)c++版本的port, 見目錄c_src/leveldb. 他之所以用c++ 0x標(biāo)準(zhǔn)主要是用到里面的原子庫,basho的port用了libatomicops搞定這個問題.

我們的測試采用的就是這個版本, 我們分別測試了1000萬, 1億,10億數(shù)據(jù)量下的leveldb表現(xiàn),發(fā)現(xiàn)隨著數(shù)據(jù)集的變化性能變化不大。

由于leveldb默認(rèn)的sst文件是2M, 在數(shù)據(jù)集達(dá)到100G的時候要占用幾萬個文件,我修改了:

  1. version_set.cc:23 static const int kTargetFileSize = 32 * 1048576; 

讓默認(rèn)的文件變成32M,減少目錄的壓力。

我的測試環(huán)境是:

  1. $uname -r    
  2. 2.6.18-164.el5 #RHEL 5U4    
  3. # 10* SAS 300G raid卡,fusionIO 320G, Flashcache,內(nèi)存96G,  24 * Intel(R) Xeon(R) CPU  

top說:

  1. 21782 root      18   0 1273m 1.1g 2012 R 85.3  1.2   1152:34 db_bench  

iostat說:

  1. $iostat -dx 5    
  2. ...    
  3. sdb1              0.40     0.00  3.40  0.00    30.40     0.00     8.94     0.02    4.65   4.65   1.58    
  4. fioa              0.00     0.00 2074.80  3.80 16598.40    30.40     8.00     0.00    0.13   0.00   0.00    
  5. dm-0              0.00     0.00 1600.00  0.00 16630.40     0.00    10.39     0.25    0.15   0.15  24.76    
  6. ...  

該測試中請注意snappy壓縮沒有打開,如果有壓縮性能還會高很多,因?yàn)镮O少了一半。

write_buffer_size=$((256*1024*1024)),log大小設(shè)成256M,這樣減少切換日志的開銷和減少數(shù)據(jù)合并的頻率。

同時應(yīng)該注意到db_bench是單線程程序,還有一個compact線程,所以最多的時候這個程序只能跑到200%的cpu, IO util也不是很高. 換句話說如果是多線程程序的話性能還要N倍的提高。

我們來看下實(shí)際的性能數(shù)字:

 

  1. #1千萬條記錄    
  2. $sudo ./db_bench --num=10000000 --write_buffer_size=$((256*1024*1024))    
  3. LevelDB:    version 1.2    
  4. Date:       Fri May 27 17:14:33 2011    
  5. CPU:        24 * Intel(R) Xeon(R) CPU           X5670  @ 2.93GHz    
  6. CPUCache:   12288 KB    
  7. Keys:       16 bytes each    
  8. Values:     100 bytes each (50 bytes after compression)    
  9. Entries:    10000000    
  10. RawSize:    1106.3 MB (estimated)    
  11. FileSize:   629.4 MB (estimated)    
  12. write_buffer_size=268435456    
  13. WARNING: Snappy compression is not enabled    
  14. ------------------------------------------------    
  15. fillseq      :       2.134 micros/op;   51.8 MB/s    
  16. fillsync     :      70.722 micros/op;    1.6 MB/s (100000 ops)    
  17. fillrandom   :       5.229 micros/op;   21.2 MB/s    
  18. overwrite    :       5.396 micros/op;   20.5 MB/s    
  19. readrandom   :      65.729 micros/op;    
  20. readrandom   :      43.086 micros/op;    
  21. readseq      :       0.882 micros/op;  125.4 MB/s    
  22. readreverse  :       1.200 micros/op;   92.2 MB/s    
  23. compact      : 24599514.008 micros/op;    
  24. readrandom   :      12.663 micros/op;    
  25. readseq      :       0.372 micros/op;  297.4 MB/s    
  26. readreverse  :       0.559 micros/op;  198.0 MB/s    
  27. fill100K     :     349.894 micros/op;  272.6 MB/s (10000 ops)    
  28. crc32c       :       4.759 micros/op;  820.8 MB/s (4K per op)    
  29. snappycomp   :       3.099 micros/op; (snappy failure)    
  30. snappyuncomp :       2.146 micros/op; (snappy failure)    
  31.  
  32. #1億條記錄    
  33. $sudo ./db_bench --num=100000000 --write_buffer_size=$((256*1024*1024))    
  34. LevelDB:    version 1.2    
  35. Date:       Fri May 27 17:39:19 2011    
  36. CPU:        24 * Intel(R) Xeon(R) CPU           X5670  @ 2.93GHz    
  37. CPUCache:   12288 KB    
  38. Keys:       16 bytes each    
  39. Values:     100 bytes each (50 bytes after compression)    
  40. Entries:    100000000    
  41. RawSize:    11062.6 MB (estimated)    
  42. FileSize:   6294.3 MB (estimated)    
  43. write_buffer_size=268435456    
  44. WARNING: Snappy compression is not enabled    
  45. ------------------------------------------------    
  46. fillseq      :       2.140 micros/op;   51.7 MB/s    
  47. fillsync     :      70.592 micros/op;    1.6 MB/s (1000000 ops)    
  48. fillrandom   :       6.033 micros/op;   18.3 MB/s    
  49. overwrite    :       7.653 micros/op;   14.5 MB/s    
  50. readrandom   :      44.833 micros/op;    
  51. readrandom   :      43.963 micros/op;    
  52. readseq      :       0.561 micros/op;  197.1 MB/s    
  53. readreverse  :       0.809 micros/op;  136.8 MB/s    
  54. compact      : 123458261.013 micros/op;    
  55. readrandom   :      14.079 micros/op;    
  56. readseq      :       0.378 micros/op;  292.5 MB/s    
  57. readreverse  :       0.567 micros/op;  195.2 MB/s    
  58. fill100K     :    1516.707 micros/op;   62.9 MB/s (100000 ops)    
  59. crc32c       :       4.726 micros/op;  826.6 MB/s (4K per op)    
  60. snappycomp   :       1.907 micros/op; (snappy failure)    
  61. snappyuncomp :       0.954 micros/op; (snappy failure)    
  62.  
  63. #10億條記錄    
  64. $sudo ./db_bench --num=1000000000 --write_buffer_size=$((256*1024*1024))    
  65. Password:    
  66. LevelDB:    version 1.2    
  67. Date:       Sun May 29 17:04:14 2011    
  68. CPU:        24 * Intel(R) Xeon(R) CPU           X5670  @ 2.93GHz    
  69. CPUCache:   12288 KB    
  70. Keys:       16 bytes each    
  71. Values:     100 bytes each (50 bytes after compression)    
  72. Entries:    1000000000    
  73. RawSize:    110626.2 MB (estimated)    
  74. FileSize:   62942.5 MB (estimated)    
  75. write_buffer_size=268435456    
  76. WARNING: Snappy compression is not enabled    
  77. ------------------------------------------------    
  78. fillseq      :       2.126 micros/op;   52.0 MB/s    
  79. fillsync     :      63.644 micros/op;    1.7 MB/s (10000000 ops)    
  80. fillrandom   :      10.267 micros/op;   10.8 MB/s    
  81. overwrite    :      14.339 micros/op;    7.7 MB/s    
  82. ...比較慢待補(bǔ)充  

總結(jié): Leveldb是個很好的kv庫,重點(diǎn)解決了隨機(jī)IO性能不好的問題,多線程更新的性能非常好.

原文鏈接:http://blog.yufeng.info/archives/1327

【編輯推薦】

  1. LevelDB—一個超高性能的K/V數(shù)據(jù)庫
  2. 淺談LevelDB在ubuntu 11.04下編譯失敗的問題

 

 

責(zé)任編輯:艾婧 來源: Erlang非業(yè)余研究
相關(guān)推薦

2009-07-14 17:58:55

Jython性能

2021-09-27 14:33:01

Windows 11Windows微軟

2021-09-20 11:41:56

Windows 11硬盤空間占用微軟

2025-12-02 07:54:41

2019-03-12 11:11:25

開源Leveldb存儲

2009-03-28 16:56:55

NehalemIntel服務(wù)器

2011-11-18 15:01:32

筆記本評測

2013-04-01 09:50:15

Web框架Web

2013-07-26 17:07:33

Foglight容量

2009-12-01 11:43:59

浪涌

2010-03-24 14:06:04

APC

2011-06-09 08:52:30

LevelDB

2018-11-30 16:04:32

Macbook Pro顯卡性能

2011-02-23 11:18:48

MongoDBMySQL性能測試

2023-02-22 08:15:13

壓測模擬計(jì)算

2010-02-05 16:10:37

全千兆交換機(jī)

2015-09-14 10:41:51

PHP性能分析微觀分析

2015-08-18 11:44:02

PHP性能分析宏觀分析

2015-10-30 15:30:54

LevelDBSSTableSybase

2011-06-28 13:35:39

HP ProLiant服務(wù)器G7
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

玖玖精品视频| 伊甸园亚洲一区| 亚洲尤物在线视频观看| 国产欧美123| 91精品秘密在线观看| 国模吧一区二区| 青青操视频在线| 不卡av在线免费观看| 91亚色免费| 九一成人免费视频| 欧美日韩高清区| 欧美a一级片| 亚洲欧美中文在线视频| 婷婷在线播放| 欧美一区二区黄| 日本不卡在线| 91精品国产综合久久久久久漫画 | 免费在线中文字幕| 欧美人与禽zozo性伦| 都市激情一区| 在线亚洲+欧美+日本专区| 日本大臀精品| 日本道色综合久久| 国产福利在线观看| 欧美三级日本三级少妇99| 国产在线视频网站| 欧美日本国产一区| 成人a在线视频免费观看| 91精品一区二区三区久久久久久| 最新电影电视剧在线观看免费观看| 首页国产欧美久久| 精品久久久久久亚洲| 日韩精品第一区| 青青草国产精品一区二区| 久久久久观看| 欧美一区二区三区四区在线| 中文字幕中文字幕精品| 国产成人高清激情视频在线观看| 嫩草一区二区三区| 亚洲综合日韩在线| 日韩午夜免费视频| 亚洲成色最大综合在线| 国产精品一二三区在线| 午夜精品久久久久久久无码| 国产日韩成人精品| 日本激情免费| 欧美日韩高清在线播放| 国产剧情av在线播放| zzjj国产精品一区二区| 日韩大胆成人| www 成人av com| 久久99日本精品| 老熟妇仑乱视频一区二区| 亚洲一区二区三区精品在线| 国产高清视频在线观看| 日韩av在线免费播放| 精品176极品一区| 欧美最猛黑人xxxx黑人猛叫黄| 午夜精品免费| 黄色一级片国产| 亚洲天堂免费看| 91亚洲天堂| 欧美另类第一页| 午夜亚洲福利| 天堂8在线天堂资源bt| 亚洲国产日日夜夜| 精品极品在线| 日本精品视频在线播放| 国产女优一区| 毛片毛片毛片毛片毛片毛片毛片毛片毛片| 五月婷婷激情综合网| 欧亚av在线| 国产精品一香蕉国产线看观看| 日本成人中文字幕在线视频| 久久国产精品国产精品| 欧美精品久久99| 日韩一级淫片| 久久久99爱| 国产精品久久久久久久久免费桃花 | 免费在线观看av网站| 色偷偷888欧美精品久久久| 久久日文中文字幕乱码| 一二三四视频社区在线| 欧美日韩在线三级| 噜噜噜狠狠夜夜躁精品仙踪林| 日本一区二区三区免费看| 亚洲精品日韩专区silk | 69堂成人精品免费视频| 欧美变态网站| 自拍偷拍99| 欧美午夜精品伦理| 电影一区二区在线观看| 国产又黄又爽免费视频| 色综合天天视频在线观看| 91丨精品丨国产| 亚洲欧美日韩精品在线| 日韩免费成人| www.在线视频| 91国产高清在线| 日韩国产欧美在线观看| 日本女优天堂99伊人| 国产亚洲精品一区二区| 99久久综合99久久综合网站| 天堂一区在线观看| 久久久久久久久国产| 色香蕉久久蜜桃| hd国产人妖ts另类视频| 国产精品va在线播放| 国产一区二区0| 尤物视频在线免费观看| 欧美专区第一页| 91在线视频官网| 爱啪啪综合导航| 亚洲免费一级视频| 久久精品国产第一区二区三区最新章节 | 9191在线播放| 欧美大荫蒂xxx| 青青草国产精品亚洲专区无| 最近最新中文字幕在线| 97国产精品视频人人做人人爱| 国产一区二区三区四区在线观看| www.男人的天堂| 欧美xxxx做受欧美| 成人毛片在线观看| 另类激情视频| 成年人黄色在线观看| 欧美高清视频在线高清观看mv色露露十八 | 亚州福利视频| 不用播放器成人网| 国产成人aaa| 国产夫妻在线播放| 亚洲一区二区三区色| 欧美α欧美αv大片| 久久不射网站| av在线免费网站| 日本不卡久久| 亚洲国产毛片完整版| 阳光姐妹淘韩国版| 亚洲欧美中文日韩在线| 一区二区三区精品99久久 | 久久久国产精品x99av| 韩国v欧美v亚洲v日本v| а√天堂在线官网| 欧美亚洲爱爱另类综合| 91精品国产免费| 日韩国产高清在线| 77thz桃花论族在线观看| 中文字幕久久综合| 在线视频一区二区| 久久欧美中文字幕| 天天躁日日躁狠狠躁欧美巨大小说| 国产成人黄色网址| 国产成人精品一区二区| 欧美日韩亚洲系列| 最新日韩在线| 欧美第一黄色网| 国产一区视频在线播放| 一区二区三区四区激情| 亚洲日产av中文字幕| 国产国产国产国产国产国产| 国产成人综合亚洲| 欧美日韩国产精品一区二区三区四区| 欧美高清视频手机在在线| 在线播放国产区| 96精品久久久久中文字幕| 日本乱人伦一区| 91精品国产成人观看| 99热在线成人| 亚洲综合色av| 这里只有精品视频在线观看| 日韩精品欧美精品| 成人免费看黄| 成人黄色一区二区| 国产专区精品视频| 日韩欧美国产一二三区| 久久综合给合久久狠狠狠97色69| 国产精品乱人伦中文| 99热99精品| 成人av在线网| 久久久夜色精品亚洲| 成年人午夜久久久| 亚洲一区二区三区四区的| 国产日韩欧美激情| 综合久久给合久久狠狠狠97色| 国产麻豆午夜三级精品| 男人操女人的视频在线观看欧美 | 97精品中文字幕| 欧美精美视频| 国产中文字幕一区二区三区| 鲁大师成人一区二区三区| 青青草国产成人99久久| 日本欧美韩国国产| 国产裸舞福利在线视频合集| 亚洲mm色国产网站| 99香蕉久久| 国产超碰精品| 成人软件在线观看| 欧美天堂一区二区| 亚洲高清资源综合久久精品| 欧美老少配视频|