I just completed some ES performance testing. Here's what I did:
Get some test queries. I looked at some production traffic, extracted
some common query types, and inserted pseudo-random data in place of
variables (e.g. user search terms).
Instrumented the various components of my infrastructure (NewRelic and
SPM http://sematext.com/spm/index.html for Elasticsearch, NewRelic for my
application and the load generators).
Used Siege to hammer the cluster with requests. I experimented with
various parameters, including concurrency, ramp-up, etc., in order to get
the right load profile.
Evaluate the results from the instrumentation. Identify the components
which are the bottleneck.
Partway through the test, I switched from Siege to JMeter, which has much
better reporting.
The most important part of this was probably getting a good set of
representative data. I didn't have actual production ES queries to replay,
so I had to convert other queries to the ES format.
My cluster of ES nodes got to about 1700 QPS, and ES never broke a sweat --
the bottleneck was in my application. I'm confident that ES could handle
2-3 times more traffic than that before it started to work hard.
Ross
On Sunday, 1 December 2013 19:16:15 UTC+11, Bharvi Dixit wrote:
Hi,
Could anyone tell me how can i do a load testing on my elasticsearch
cluster.?
I want to test how many concurrent user requests it can handle.
Thanks for the reply and sharing your experience, I will try the same.
Regards,
Bhavi Dixit
On Monday, 2 December 2013 08:13:16 UTC+5:30, Ross Simpson wrote:
I just completed some ES performance testing. Here's what I did:
Get some test queries. I looked at some production traffic, extracted
some common query types, and inserted pseudo-random data in place of
variables (e.g. user search terms).
Instrumented the various components of my infrastructure (NewRelic and
SPM http://sematext.com/spm/index.html for Elasticsearch, NewRelic for
my application and the load generators).
Used Siege to hammer the cluster with requests. I experimented with
various parameters, including concurrency, ramp-up, etc., in order to get
the right load profile.
Evaluate the results from the instrumentation. Identify the components
which are the bottleneck.
Partway through the test, I switched from Siege to JMeter, which has much
better reporting.
The most important part of this was probably getting a good set of
representative data. I didn't have actual production ES queries to replay,
so I had to convert other queries to the ES format.
My cluster of ES nodes got to about 1700 QPS, and ES never broke a sweat
-- the bottleneck was in my application. I'm confident that ES could
handle 2-3 times more traffic than that before it started to work hard.
Ross
On Sunday, 1 December 2013 19:16:15 UTC+11, Bharvi Dixit wrote:
Hi,
Could anyone tell me how can i do a load testing on my elasticsearch
cluster.?
I want to test how many concurrent user requests it can handle.
Thanks for the reply and sharing your experience, I will try the same.
Regards,
Bharvi Dixit
On Monday, 2 December 2013 08:13:16 UTC+5:30, Ross Simpson wrote:
I just completed some ES performance testing. Here's what I did:
Get some test queries. I looked at some production traffic, extracted
some common query types, and inserted pseudo-random data in place of
variables (e.g. user search terms).
Instrumented the various components of my infrastructure (NewRelic and
SPM http://sematext.com/spm/index.html for Elasticsearch, NewRelic for
my application and the load generators).
Used Siege to hammer the cluster with requests. I experimented with
various parameters, including concurrency, ramp-up, etc., in order to get
the right load profile.
Evaluate the results from the instrumentation. Identify the components
which are the bottleneck.
Partway through the test, I switched from Siege to JMeter, which has much
better reporting.
The most important part of this was probably getting a good set of
representative data. I didn't have actual production ES queries to replay,
so I had to convert other queries to the ES format.
My cluster of ES nodes got to about 1700 QPS, and ES never broke a sweat
-- the bottleneck was in my application. I'm confident that ES could
handle 2-3 times more traffic than that before it started to work hard.
Ross
On Sunday, 1 December 2013 19:16:15 UTC+11, Bharvi Dixit wrote:
Hi,
Could anyone tell me how can i do a load testing on my elasticsearch
cluster.?
I want to test how many concurrent user requests it can handle.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.