what tutorial shards shard replicas number cluster active size elasticsearch max sharding

size - tutorial - replicas elasticsearch



ElasticSearch-Determinación del tamaño máximo del fragmento (1)

Espero que esta pregunta no esté desactualizada, pero aún no he encontrado una respuesta clara en ningún lado. De acuerdo con una de las presentaciones de ES del año pasado ( http://www.elasticsearch.org/videos/big-data-search-and-analytics/ ), hay un tamaño "máximo" para un fragmento. Estoy tratando de determinar esto para mi aplicación, pero por lo que puedo decir, todavía no he llegado. ¿Alguien sabe cuál es el comportamiento de un índice de un solo fragmento que ha alcanzado su máximo? ¿Las inserciones fallan o es solo que el índice se vuelve inutilizable?


Para probarlo yo mismo, indexé todos los artículos en inglés en Wikipedia (sin información de historial) en un solo fragmento de elasticsearch. La carpeta de datos elasticsearch creció a ~ 42GB al final de la prueba. Las lecciones aprendidas son:

  • la velocidad de indexación no se verá afectada por el tamaño del fragmento. Eso sí, no intenté indexar con más de un hilo a la vez, pero la velocidad de indexación de un solo hilo fue más o menos constante durante la prueba
  • la velocidad de consulta, por otro lado, se vio drásticamente afectada por el tamaño del fragmento. Especialmente una vez que intenta consultar con más de un usuario a la vez. Los números exactos dependerán en gran medida de la potencia de su máquina, la estructura de datos y la cantidad de hilos que están consultando. Para que te hagas una idea, con elasticsearch ejecutándose en mi máquina de desarrollo, consultar el fragmento de Wikipedia con 25 usuarios concurrentes resultó en un tiempo de respuesta promedio de 3.5 segundos (con picos hacia medio minuto).

Mi conclusión es que un fragmento demasiado grande no hará que elasticsearch falle solo por indexación. Consultar el fragmento grande puede ser demasiado lento para sus necesidades o, en ciertas situaciones, incluso romper elasticsearch con OutOfMemoryException (por ejemplo, una consulta de gran tamaño).

Esta respuesta se basa en mi propia investigación. La historia completa se puede leer en mi blog:

http://blog.trifork.com/2013/09/26/maximum-shard-size-in-elasticsearch/
http://blog.trifork.com/2013/11/05/maximum-shard-size-in-elasticsearch-revisited/