本文记录 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,并且数据量越大越明显。