Fastjson 在HiTSDB中的應用
HiTSDB協議使用json作為輕量級的數據交換語言。
Jackson是最為廣泛使用的Json格式數據的生成和解析框架之一。
HiTSDB服務端默認使用Jackson。
本文主要分析了Jackson對HiTSDB性能的影響以及提高方案
哇, 排到了第二位,值得投點精力進去了。
搭個環境看看機器的資源消耗:
寫入TPS
24Core, 96G物理機,100萬TPS下測試, CPU消耗到了40+。
Jackson CPU 占用
FastJson 應用
第一彈:
換成Fastjson的大利器,BeanToArray映射模式。
由於HiTSDB的寫入字段固定並且有序
[metric,timestamp,value, tags, tsuid, granularity, aggregator]
所以解析可以節省json key的部分。
第二彈:
忽略optional字段;Value采用Double類型
由於tsuid, granularity, aggregator這三個字段是optional的,所以可以省略解析。
value字段默認是String,由於目前支持數值型的技術,可以存儲成Double類型
結論:
HiTSDB采用Fastjson後,CPU消耗比降低了10點左右
最後更新:2017-08-18 11:32:56