Skip to content

Instantly share code, notes, and snippets.

View ggreg's full-sized avatar

Greg Leclercq ggreg

View GitHub Profile
If you want, I can try and help with pointers as to how to improve the indexing speed you get. Its quite easy to really increase it by using some simple guidelines, for example:
- Use create in the index API (assuming you can).
- Relax the real time aspect from 1 second to something a bit higher (index.engine.robin.refresh_interval).
- Increase the indexing buffer size (indices.memory.index_buffer_size), it defaults to the value 10% which is 10% of the heap.
- Increase the number of dirty operations that trigger automatic flush (so the translog won't get really big, even though its FS based) by setting index.translog.flush_threshold (defaults to 5000).
- Increase the memory allocated to elasticsearch node. By default its 1g.
- Start with a lower replica count (even 0), and then once the bulk loading is done, increate it to the value you want it to be using the update_settings API. This will improve things as possibly less shards will be allocated to each machine.
- Increase the number of machines you have so
@ggreg
ggreg / elevator.md
Created December 6, 2012 15:01 — forked from oleiade/elevator.md
Elevator plan

First Article (Addressing the problem)

Rationale

Here at Botify

  • batch processing of TeraBytes of web server logs involves storing temporary data
  • bulk write/read GigaBytes data loads that would not fit in server's main memory (we preferred to improve performance on a single host at the beginning)
  • need for persistence