Ignite cahce 存储object类型数据和object类型数据序列化后string存储区别
Ignite cache在存储时 object类型的数据和 序列化该object成string类型 两者存储时间差不多。
但是这两者在读取出来的时候,string类型比object类型快很多。
以下为测试情况:用到GridGain监控
测试背景:
测上述方案二中object 字段的问题。
Ignite:版本2.2 ; server = 2; CPUs=4;heap=1.8GB;
OS:Windows 10 10.0 amd64
VM info:Java(TM) SE Runtime Environment 1.8.0_144-b01 Oracle Corporation Java HotSpot(TM) 64-Bit Server VM 25.144-b01
REST API :版本 2.1.8
方案A:存储UploadArchiveIgnite 到cache,其中一个字段为Object,未序列化。
方案B:存储UploadArchiveIgnite 到cache,其中一个字段为string,是Object的序列化。
Puts过程:put 进cache 1w条数据
|
方案A |
方案B |
CPU平均使用率峰值 |
49% |
38% |
Cache Size中off heap值变化 |
初始状态->0k-> 约20k->10k |
初始状态->0k-> 约20k->10k |
查询缓存过程:每次查询所有数据(1w)
|
方案A |
方案B |
CPU平均使用率峰值 |
1% |
2% |
Cache Size中off heap值变化 |
10k->20k->10k |
10k->约10~12k->10k |