常见问题:数据库优化

如何减少内存使用?

内存使用的主要来源是向量数据。有几种方法可以解决这个问题

  • 配置量化以减少向量的内存使用。
  • 配置磁盘向量存储

方法的选择取决于您的要求。阅读更多关于配置Qdrant的最佳使用

如何选择机器配置?

Qdrant在使用资源方面有两种主要场景

  • 性能优化型 – 当您需要尽快(多次)提供向量搜索服务时。在这种情况下,您需要尽可能多地将向量数据存储在RAM中。使用我们的计算器估算所需的RAM。
  • 存储优化型 – 当您需要存储大量向量并通过牺牲一些搜索速度来最小化成本时。在这种情况下,请注意磁盘速度。更多信息请参阅关于内存消耗的文章。

我配置了磁盘向量存储,但内存使用仍然很高。为什么?

首先,tophtop报告的内存使用指标可能具有误导性。它们没有显示运行服务所需的最小内存量。如果RSS内存使用量为10 GB,这并不意味着它不能在8 GB RAM的机器上运行。

Qdrant使用许多技术来减少搜索延迟,包括将磁盘数据缓存到RAM中以及将数据从磁盘预加载到RAM中。因此,Qdrant进程可能会使用比运行服务所需的最小内存更多的内存。

未使用的RAM就是浪费的RAM

如果您想限制服务的内存使用,我们建议使用Docker中的限制或Kubernetes。

我的请求非常慢或超时。我该怎么办?

这有几个可能的原因

  • 使用没有载荷索引的过滤器 – 如果您使用过滤器执行搜索但没有载荷索引,Qdrant将不得不从磁盘加载整个载荷数据以检查过滤条件。确保您已充分配置载荷索引
  • 使用慢速磁盘的磁盘向量存储 – 如果您使用磁盘向量存储,请确保您的磁盘足够快。我们建议使用本地SSD,至少50k IOPS。阅读更多关于磁盘速度对搜索延迟影响的文章,请参阅关于内存消耗的文章。
  • 大限制或非最佳查询参数 – 大的限制或偏移量可能导致显著的性能下降。请密切注意与默认值显著不同的查询/集合参数。它们可能是导致性能问题的原因。
此页面有用吗?

感谢您的反馈!🙏

很抱歉听到这个消息。😔 您可以在 GitHub 上编辑此页面,或者创建一个 GitHub 问题。