Ant*_*ton 5 elasticsearch google-compute-engine
在将我的Elasticsearch集群从HDD移到SSD磁盘之前,我决定比较这些解决方案的性能。结果对我来说绝对是出乎意料:具有hdd的elasticsearch(ES)的运行速度比具有ssd的ES快。
我想我错过了一些重要的配置。
所有测试均在Google Compute Engine虚拟机上运行。使用了两台机器(将其标记为S和H):
简单的python脚本将请求发送到一台计算机,并保存每20秒的平均延迟统计信息。索引和查询的统计信息单独保存。搜索请求和索引数据是随机生成的,但具有相同的参数。生成的文档具有相同的属性,但具有相同数量的ascii符号。文件类型的映射很明显。脚本在10个线程中发送请求3个小时。
如Elasticsearch官方站点上的文章中所建议,H上的ES具有一种非默认配置:
index.merge.scheduler.max_thread_count: 1
Run Code Online (Sandbox Code Playgroud)
(它仅允许在单线程中将索引数据合并到磁盘)
S上的ES具有另一个非默认配置:
index.store.throttle.type: none
Run Code Online (Sandbox Code Playgroud)
(这禁用了每秒可以将多少数据合并到磁盘的任何限制)
我预计SSD将比HDD显着更快。但是结果是:
(不幸的是,我是Stackoverflow的新手,我的声誉不允许我发布图片)
图表显示,就我而言,HDD上的ES比SSD上的ES快一点。
部分原因是因为我使用了远程SSD。但是HDD也是远程的。而且Google文档说,远程SSD有时要比HDD快。
有人可以解释一下我在做什么错吗?应将哪些Elasticsearch配置设置为使用完整的SSD性能?
| 归档时间: |
|
| 查看次数: |
2168 次 |
| 最近记录: |