Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
Description
Using IoTDB benchmark to test the insertion performance of v0.11.3 and v0.12.0, it was found that the insertion latency of v0.12.0 has increased a lot compared with v0.11.3, and the insertion speed has also been reduced.
Performance report:
Config:
client_num=1;storage_num=1;device_num=1;sensor_num=1;loop=20,000;batch_size=1000;
V0.12.0 | V0.12.0 | V0.11.3 | V0.11.3 | |||
---|---|---|---|---|---|---|
Insertion Speed(Points/s) | Average Latency (ms) |
Insertion Speed(Points/s) |
Average Latency(ms) |
|||
154361.12 | 6.30 | 293976.71 | 3.33 | |||
155671.99 | 6.25 | 226994.21 | 4.28 |
Using JProfiler to sample the insertion threads of the two versions, it was found that the InsertTabletPlan::updateTimesCache method of the v0.12 version has unusually high autoboxing and unboxing overhead (~20%), which should be the root cause of the insertion performance degradation.