本文記錄 Easysearch 和 Opensearch 數據寫入和數據存儲方面的性能對比。
準備
-
壓測工具:INFINI Loadgen
-
對比版本:
- Easysearch 1.11.1(lucene 8.11.4)
- Opensearch 2.19.1(lucene 9.12.1)
- 節點 JVM 配置:1G
數據寫入
壓測命令:
./loadgen-linux-amd64 -c 20 -d 300
Opensearch
PUT infinilabs
{"settings": {"number_of_shards": "1","number_of_replicas": 0,"index.refresh_interval": "120s","translog": {"durability": "async","sync_interval": "120s"}}
}
Easysearch
PUT infinilabs
{"settings": {"number_of_shards": "1","number_of_replicas": 0,"index.refresh_interval": "120s","translog": {"durability": "async","sync_interval": "120s"}}
}
數據存儲
壓測命令:
./loadgen-linux-amd64 -c 20 -d 600 -l 10000
Opensearch: zstd 壓縮
PUT infinilabs
{"settings": {"number_of_shards": "1","number_of_replicas": 0,"index.refresh_interval": "120s","translog": {"durability": "async","sync_interval": "120s"},"index.codec": "zstd"}
}
Easysearch: zstd + source_reuse 壓縮
PUT infinilabs
{"settings": {"number_of_shards": "1","number_of_replicas": 0,"index.refresh_interval": "120s","translog": {"durability": "async","sync_interval": "120s"},"index.codec": "ZSTD","index.source_reuse": "true"}
}
結論
- 數據寫入方面,Easysearch(lucene 8.x) 和 Opensearch(lucene 9.x)基本持平;
- 數據存儲方面,相同數據量經過 Easysearch 和 Opensearch 的壓縮后,Easysearch 占用的空間明顯少于 Opensearch,并且數據量越大越明顯。