Milvus load 加载速度很慢!load so slowly!

avatar
作者
猴君
阅读量:0

文章目录

1. 现象描述

当你建立了一个milvus collection之后,collection.load()到内存时,速度很慢,比如20分钟没有结果,这是什么原因?

2. 原因及解决方案

2.1 load干了哪些事情?

我猜测:load函数的一个动作是将milvus计算好的index加入到内存中去。原因是:

  1. 如果在load前,没有设定index,那么load会报错提示你没有设定index。
  2. Milvus的所有相似计算,都是基于index进行的,所以load的时候一定会将index结果加载到内存。
  3. 建立好milvus的collection后,首次load时,有时会很耗时间,有时又不怎么耗时间。这是因为如果你在insert前,就create_index的,那么insert环节一并计算生成index,所以首次load只需要将结果load到内存,速度很快;如果create_index发生在insert环节后,那么load环节就会计算index,然后再加载到内存,显然load速度就会慢了。

由此推测,您的load函数非常慢,很有可能是index环节速度太慢或者出了问题!

2.2 index原因推测

2.2.1 服务器内存太小或者不足

向量百万,计算index,需要比较多的内存和计算量。看看您的机器是否内存不足了。

测试方法:找一个空的机器去,上milvus试一下,或者将现在milvus服务器释放一些内存试试。

2.2.2 先设置Index再Insert数据

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!