常见问题:数据库优化

如何减少内存使用量?

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

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

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

如何选择机器配置?

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

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

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

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

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

未使用的 RAM 是浪费的 RAM

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

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

有几种可能的原因

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

感谢您的反馈!🙏

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