-1

i had implemented aws elastic service in a saas based system but when i am developing it on test server it works very well it takes avg 120 MS to give output

but when i put it on live server with large servers it goes slow with avg 500MS

the only difference is number of records.

can number of records responsible for that as i already increased server to large instances with multiple instance and also on multiple nodes but still its not up to the mark.

or what can i do to increase the performance off course search queries can not be the issue because with same query it works superb on testing server

1 Answers1

0

Yes, numbers of records can be responsible for the difference in performance.

Elasticsearch shards your documents over multiple nodes (depending on configuration). When you execute a search each node has to search through the documents it's responsible for. As the number of documents in the shard grows, you may need to expand to more shards to maintain adequate performance.

Switching to larger instance types can sorta help, sometimes, but more shards is usually a better answer. The search is probably going to mostly be IO-bound, so faster disks or more RAM (for cache) will probably have more performance impact than adding CPU.

Here's some good resources to learn more: https://www.elastic.co/guide/en/elasticsearch/reference/1.5/_basic_concepts.html https://www.elastic.co/guide/en/elasticsearch/guide/current/indexing-performance.html