Enterprisesearch takes all CPU while Elasticsearch is quiet, and searches thow timeout

Hello, I have a single node docker configuration with enterprise search and Elasticsearch, both 7.15.1. When my user quantity grows, my searches begin to return timeout every time (I see 60" response times on avg), and enterprisesearch takes almost all the available CPU, as you can see in the following screenshots.


My server is a m5a.xlarge on AWS. Elastic has 6GB RAM and Enterprise has another 6GB RAM. The docker stats command shows that enteprise has 300%+ of the cpu most of the time, while elastic hardly reaches 50%.

When my user quantity lowers, both elastic and enterprise are both very relaxed.

I've seen that a common architecture is having multiple Elasticsearch instances, but my problem seems to be with enteprise, not elastic.

For further information, I'm attaching all the kibana info. I don't know why the CPU metric is so low, maybe kibana thinks my server has more capacity.






Please help me, I can't keep having this crashes when I'm at my peak hour. Thanks!

Hi @gpribi ,

It's heavily recommended to not have a single-node Elasticsearch, and it seems clear from your screenshots that your Enterprise Search instance is contending for resources with Elasticsearch.

I'll suggest that you deploy your Elasticsearch nodes (plural) on infrastructure separate from your Enterprise Search node, and see if that helps.

You may want to consider using cloud.elastic.co, so that you can worry less about the cluster architecture, and more about your data and application.

2 Likes

Hello @Sean_Story, that's exactly what I did, "split" the node into one Elasticsearch node and one enterprisesearch node, and it has been working fine since then. Thank you!