Checking performance without external tool

I have to check how many messages per second I can send to ElasticSearch, the time of sending to ES, responding from ES, memory used and CPU. The problem is I can't use any monitoring tools. Do curl localhost:9200/_stats or curl http://localhost:9200/_nodes/stats requests - indices or nodes stats have the answer for these questions? If yes, which values? There are a lot of them and I don't know which would be proper.

Elasticsearch monitoring itself is no replacement for doing your own load testing. Besides that, curl isn't really the most efficient tool for sending requests as fast as you can.

You should test your use case. Synthetic stuff like indexing the same tiny document over and over again or running the same query a zillion times a second doesn't prove much. But simulating traffic through your tools can prove a lot.

Performance testing is a fairly complex thing and trying to do so without tools is like trying to drive blindfolded - difficult and dangerous.

1 Like

I decided to use ElasticHQ since Bigdesk doesn't support ES v2.+ . Do you know if I can get mentioned metrics from it? I see that there are charts generated for memory and CPU, but don't know if I can get how many messages/s or some index time to calculate it manually. Are there some split values between time of sending request to elastic and getting response? Thanks for your reply.