Мы развернули ES 2.0 на 3 узлах EC2 c4.4xlarge (16 ядер, 32 ГБ), выделив 16G для ES, подключив 500 ГБ с IOPS io1/4000 на каждом.
Проблема. Мы ожидаем большой производительности из этой конфигурации оборудования, однако наблюдается очень медленная скорость индексирования.
Наш документ размером около 10-50 тыс., мы используем транспортный клиент Java для вставки. Скорость была в порядке для первых 50 000 при примерно 1000/секунду и резко замедлялась до 100-200/секунд.
В то же время мы смотрим на низкое потребление ресурсов:
- CPU составляет только 1-20% (16 ЦП Core)
- Запись IO составляет всего 4-10 Мб/с.
- Объем памяти составляет около 20-30%.
Требования. Поэтому я не могу понять, почему он настолько медленный, пока все ресурсы настолько свободны, что я могу сделать для повышения эффективности? Спасибо.
>Вот файл конфигурации, который мы используем:
cluster.name: {{ env }}-{{ app }}
path.data: /data/es
path.logs: /data/es-logs
network.host: 0.0.0.0
discovery.zen.ping.unicast.hosts: ["xxxx"]
bootstrap.mlockall: true
threadpool.search.queue_size: 300
threadpool.index.type: fixed
threadpool.index.size: 16
threadpool.index.queue_size: 250000
index.refresh_interval: 1s
index.translog.flush_threshold_ops: 50000
indices.memory.index_buffer_size: 30%
indices.memory.min_shard_index_buffer_size: 12mb
indices.memory.min_index_buffer_size: 96mb
script.inline: on
script.indexed: on
http.cors.enabled: true
http.cors.allow-origin: /https?:\/\/localhost(:[0-9]+)?/