Fastjson 在HiTSDB中的应用

简介:

HiTSDB协议使用json作为轻量级的数据交换语言。
Jackson是最为广泛使用的Json格式数据的生成和解析框架之一。
HiTSDB服务端默认使用Jackson。
本文主要分析了Jackson对HiTSDB性能的影响以及提高方案

先来看一下Java性能tuning 利器jmc的分析结果:
image

哇, 排到了第二位,值得投点精力进去了。
搭个环境看看机器的资源消耗:

写入TPS

tps

24Core, 96G物理机,100万TPS下测试, CPU消耗到了40+。

Jackson CPU 占用

jackson

FastJson 应用

第一弹:

换成Fastjson的大利器,BeanToArray映射模式。

由于HiTSDB的写入字段固定并且有序
[metric,timestamp,value, tags, tsuid, granularity, aggregator]
所以解析可以节省json key的部分。

效果不错, 大部分CPU 到了40-。
fastjson_beanarray

第二弹:

忽略optional字段;Value采用Double类型

由于tsuid, granularity, aggregator这三个字段是optional的,所以可以省略解析。

value字段默认是String,由于目前支持数值型的技术,可以存储成Double类型

最终采用FastJson CPU 占用稳定在30+。
fastjson

结论:

HiTSDB采用Fastjson后,CPU消耗比降低了10点左右

目录
相关文章
|
JSON 数据格式
【异常】com.alibaba.fastjson.JSONException: unclosed string : U
【异常】com.alibaba.fastjson.JSONException: unclosed string : U
1574 0
|
存储 JSON 网络协议
阿里巴巴FastJSON使用实例
阿里巴巴FastJSON使用实例
970 0
|
6月前
|
JSON fastjson Java
使用FastJson
使用FastJson
406 1
|
存储 缓存 JSON
fastjson2为什么这么快
fastjson2 提升速度的核心技术
75902 6
fastjson2为什么这么快
|
JSON fastjson Java
FastJson使用技巧
FastJson使用技巧
|
fastjson Java
fastjson的使用
fastjson的使用
156 0
|
XML JSON 缓存
关于 FastJson
因为公司提供的基础框架使用的是 FastJson 框架、而部门的架构师推荐使用 Jackson。所以特此了解下 FastJson 相关的东西。
699 0
|
SQL JSON 缓存
fastjson学习笔记
JSON相信大家对他也不陌生了,前后端交互中常常就以JSON来进行数据交换。而有的时候,我们也会将JSON直接保存在数据库中。
314 0
fastjson学习笔记
|
fastjson Java
fastjson为何使用TypeReference?(上)
fastjson为何使用TypeReference?
1000 0
fastjson为何使用TypeReference?(上)
|
JSON fastjson Java
Fastjson 使用
fastjson 是阿里巴巴的开源 JSON 解析库,它可以解析 JSON 格式的字符串,支持将 Java Bean序列化为JSON字符串,也可以从 JSON 字符串反序列化到 JavaBean。 功能完备: 支持泛型,支持流处理超大文本,支持枚举,支持序列化和反序列化扩展。 下载 jar包 或者配置 maven 依赖:
2922 0