Anything specific I should look out or? I see the refresh
and index
as well as the bulk
pools:
{
"thread_pool": {
"bulk": {
"threads": 10,
"queue": 0,
"active": 0,
"rejected": 0,
"largest": 10,
"completed": 29826938
},
"fetch_shard_started": {
"threads": 0,
"queue": 0,
"active": 0,
"rejected": 0,
"largest": 0,
"completed": 0
},
"fetch_shard_store": {
"threads": 0,
"queue": 0,
"active": 0,
"rejected": 0,
"largest": 0,
"completed": 0
},
"flush": {
"threads": 1,
"queue": 0,
"active": 0,
"rejected": 0,
"largest": 5,
"completed": 453
},
"force_merge": {
"threads": 1,
"queue": 0,
"active": 0,
"rejected": 0,
"largest": 1,
"completed": 13
},
"generic": {
"threads": 4,
"queue": 0,
"active": 0,
"rejected": 0,
"largest": 4,
"completed": 726806
},
"get": {
"threads": 10,
"queue": 0,
"active": 0,
"rejected": 0,
"largest": 10,
"completed": 304772
},
"index": {
"threads": 10,
"queue": 0,
"active": 0,
"rejected": 0,
"largest": 10,
"completed": 15074
},
"listener": {
"threads": 5,
"queue": 0,
"active": 0,
"rejected": 0,
"largest": 5,
"completed": 147613
},
"management": {
"threads": 5,
"queue": 0,
"active": 1,
"rejected": 0,
"largest": 5,
"completed": 6501816
},
"refresh": {
"threads": 5,
"queue": 0,
"active": 1,
"rejected": 0,
"largest": 5,
"completed": 30810420
},
"search": {
"threads": 16,
"queue": 0,
"active": 0,
"rejected": 0,
"largest": 16,
"completed": 30804051
},
"snapshot": {
"threads": 0,
"queue": 0,
"active": 0,
"rejected": 0,
"largest": 0,
"completed": 0
},
"warmer": {
"threads": 5,
"queue": 0,
"active": 2,
"rejected": 0,
"largest": 5,
"completed": 63761738
},
"watcher": {
"threads": 0,
"queue": 0,
"active": 0,
"rejected": 0,
"largest": 0,
"completed": 0
}
}
}
This snapshot is from right now and I guess there isn't much going on.
Would there be a benefit not using _bulk
all the time?
The implementation can always index multiple documents (of the same type, in my case) at once and indexing a single document isn't a special case => just a _bulk
with one document. However: the majority of indexing requests deal with only a single document.
Looking at the node stats, this is easily reflected in the completed
of bulk
vs. index
pool. TBH I'm surprised there are even ~15k index.completed
because there's no code we've which performs such operations but maybe that's just something else (Kibana?).
OTOH, when I read up your link about the pools, index
and bulk
have the same default configuration characteristics so this may be a dead end anyway.
Thanks, I actually did that already in the meantime. Since yesterday I completely removed all refresh=wait_for
and bumped the refresh_interval
to 1s.
In certain areas, user interaction do now directly cause index requests with refresh=true
. Since users are hard to control, this could be anything from 0 to 100 concurrently.
I expected this to to not go smooth, but I couldn't detect any real problems so far. CPU load is still stable (but more fluctuating; change was deployed around 14pm in that chart):
Should I be more careful with too many concurrent index operations performing refresh=true
?
Thank you very much so far!