寫給《資料庫引擎 CoolHash 效能測試報告》

2021-09-02 03:45:33 字數 749 閱讀 2087

首先第一眼印象,單機使用磁碟io的話能支援100w qps。我只能說這是神一樣的開源了。

首先來看乙個概念iops,每秒的io次數,記憶體大概是1000w,ssd盤 35000,sas盤180,stat盤90

這些資料我摘抄自《大規模分布式儲存系統》,180的iops如何能支援100w的qps,還有coolhash如果在一台機器上開啟多個工人是併發隨機io,還是工人只負責寫入記憶體,再用另外的執行緒負責將所有資料寫磁碟,這樣是順序io,大部分kv儲存都是這樣搞的,包括leveldb和beansdb。如果說180的iops能支撐100wqps,那我只能說coolhash將sas演繹的太神奇了,coolhash是神一樣的開源產品了。

那先來看看這個[url]這這是簡單的100併發100w請求,就丟擲了異常,你benchmark都沒有測試用例建議把測試用例和過程貼出而不是redis相比。

page cache我想大家都很熟悉吧linux的write是buffered write,首先寫到page cache中,然後再後台程序刷到磁碟,寫入成功了並不會將該page刪除,以便以後提公升read的效能,直到記憶體緊張才做lru淘汰,這麼看來記憶體充足的情況下,write和read都是在記憶體中完成的,而不走磁碟io。rocksdb的benchmark提到了,如果測試的資料量規模大小小於記憶體,那全部的讀寫都在pagecache中就完成了,而不走真正的磁碟io,你用小記憶體試試,或者把測試的datasize調大,rocksdb的作者說最好用5倍於記憶體的數量。

使用datasize 只有幾個bytes的測試幾乎沒有太大的意義

mysql資料庫引擎 mysql資料庫引擎

資料庫引擎是用於儲存 處理和保護資料的核心服務。利用資料庫引擎可控制訪問許可權並快速處理事務,從而滿足企業內大多數需要處理大量資料的應用程式的要求。使用資料庫引擎建立用於聯機事務處理或聯機分析處理資料的關聯式資料庫。這包括建立用於儲存資料的表和用於檢視 管理和保護資料安全的資料庫物件 如索引 檢視和...

資料庫引擎

用了好久的mysql資料庫,都不知道引擎的具體知識,被面試官虐殘了,希望對大家有幫助 資料庫引擎 1.innodbacid 原子特性 1 提供了行級鎖和外來鍵約束,設計目標是處理大容量資料庫系統,它本身其實就是基於mysql後台的完整資料庫,提供了對資料庫acid的支援,並實現了sql標準的四種事務...

資料庫引擎

之前只了解innodb,做乙個全面的了解,主要是針對mysql 資料庫引擎是用來儲存 處理 保護資料的核心服務。利用資料庫引擎可控制訪問許可權並快速處理事務,從而滿足企業內大多數需要處理大量資料的應用程式需要,使用資料庫引擎建立用於聯機事務處理或聯機分析處理資料的關係型資料庫,包括建立用於儲存資料的...