摘要:最近把服務內存中的部分數據遷移到磁盤,存儲引擎使用的遷移完畢,就迫不及待的進行了性能測試。我嘞個去,性能剛剛的。測試已經證明了我們的結果。那如果這樣,那么測試得出的結論對于第一次請求耗時來說毫無意義。
最近把服務內存中的部分數據遷移到磁盤,存儲引擎使用的rocksdb.遷移完畢,就迫不及待的進行了性能測試。我嘞個去,性能剛剛的。其實內心已經埋下了懷疑的種子,怎么可能?然后用top命令查看了下。
# top
呵呵,果然是filesystem cache的原因。但是作為有著嚴格求證精神的程序員(其實是對操作系統原理不算特別熟悉),趕緊寫了個測試用例來證明自己的推測。
首先關閉服務,然后刷新和清除系統cache
#sync #echo 1 > /proc/sys/vm/drop_caches #echo 2 > /proc/sys/vm/drop_caches #echo 3 > /proc/sys/vm/drop_caches
已知rocksdb數據庫文件中存放了所有的影視實體信息,然后編寫測試用例=》根據所有的影視id遍歷所有的數據。我給測試用例分配了-Xmx1024M -Xms1024M
測試性能日志
再跑一次測試用例,觀察性能日志
尼瑪,發現沒有,78186/4377 = 17.862919808088倍啊.
如果你再次運行上面的命令,刷新和清理系統緩存,再跑測試用例,發現耗時跟第一次差不多。這個我就不貼具體的實例了。當然你可以用iostat觀察磁盤的io情況,發現幾乎沒有讀請求。因為全cache住了。
測試已經證明了我們的結果。
關于操作系統中buffer和cache的機制,自己感興趣的可以去查下。
那如果這樣,那么測試得出的結論對于第一次請求耗時來說毫無意義。這時候再想想我們是否可以把文件系統的cache給關閉掉,然后進行測試?
下一篇文章我們繼續>>
原文鏈接http://segmentfault.com/a/1190000003975291
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/64738.html
摘要:接著性能測試筆記一然后我就考慮使用禁用寫入緩存,在下發現一直報驅動錯誤。關鍵是關機重啟之后,測試時取中數據時發現系統仍然在不斷的增加。官方要求內核最低版本。也就是限定了容器使用的內存只有,哪怕是系統現在就進行愉快的測試吧。。 接著centos rocksdb 性能測試筆記(一)然后我就考慮使用hdparm禁用寫入緩存,在centos下發現一直報驅動錯誤。在ubuntu上面禁用write...
摘要:接著性能測試筆記一然后我就考慮使用禁用寫入緩存,在下發現一直報驅動錯誤。關鍵是關機重啟之后,測試時取中數據時發現系統仍然在不斷的增加。官方要求內核最低版本。也就是限定了容器使用的內存只有,哪怕是系統現在就進行愉快的測試吧。。 接著centos rocksdb 性能測試筆記(一)然后我就考慮使用hdparm禁用寫入緩存,在centos下發現一直報驅動錯誤。在ubuntu上面禁用write...
摘要:因為自帶的版本過低,會導致編譯通不過。設置環境變量以上設置的環境變量都是臨時的,建議設置成永久全局變量。這時候如果出現錯誤,重新運行命令如果仍然報錯,比如打不開某個文件,把下的全部刪掉。 Step1 安裝git服務,用于從github拉取rocksdb源代碼.如果你想從源碼安裝最新版git,參考源碼安裝git # yum install git 安裝后可以使用git --versio...
閱讀 3684·2021-10-09 09:44
閱讀 3344·2021-09-22 15:29
閱讀 3116·2019-08-30 15:54
閱讀 3018·2019-08-29 16:19
閱讀 2142·2019-08-29 12:50
閱讀 594·2019-08-26 14:04
閱讀 1696·2019-08-23 18:39
閱讀 1344·2019-08-23 17:59