我在基于saas的系统中实现了aws弹性服务,但是当我在测试服务器上开发它时,它运行得非常好,需要平均120 MS来提供输出
但是当我把它放在带有大型服务器的实时服务器上时,使用avg 500MS
会变慢唯一的区别是记录数量。
可以记录多少条记录,因为我已经将服务器增加到具有多个实例的大型实例,并且还在多个节点上,但仍然没有达到标记。
或者我可以做些什么来提高课程搜索查询的性能不是问题,因为使用相同的查询它在测试服务器上非常出色
答案 0 :(得分:0)
是的,记录数量可能导致性能差异。
Elasticsearch在多个节点上对文档进行分片(取决于配置)。当您执行搜索时,每个节点都必须搜索它负责的文档。随着分片中文档的数量增加,您可能需要扩展到更多分片以保持足够的性能。
有时,切换到更大的实例类型可以提供帮助,但更多的分片通常是更好的答案。搜索可能主要是IO绑定的,因此更快的磁盘或更多的RAM(用于缓存)可能比添加CPU具有更多的性能影响。
这里有一些很好的资源可以了解更多信息: 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