Poor performance with a large collection and simultaneous queries #17166
Replies: 4 comments 22 replies
-
Hi simon, 42b seems to be a huge number and require great amount of resources~ To increase performance, there are a few things you may want to do:
|
Beta Was this translation helpful? Give feedback.
-
Hi @xiaofan-luan I have deployed milvus 2.1 (master-20220613-e9dcda16) and I specified the replica num to be 2, 4 , 10, 16 but the throughput only increased a little bit. I’m running 20 query nodes with 8c32Gi. I loaded 50M 512dim vectors and I’m using HNSWPQ which is the fastest index. With no replicas, I can get 220 QPS. When I tried multiple replicas, the most I got was 300QPS. In my case, all the quries are nq=1. How can I scale so milvus can do 500QPS+ with low p95 of <200ms?? |
Beta Was this translation helpful? Give feedback.
-
@xiaofan-luan thanks for your works! |
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
Hello,
We use milvus in our solution to search for similar vectors.
Our collection contains 2 fields:
This is our query (python) :
The milvus is deployed in cluster mode and has 2 datanodes (4cpu, 24Gi), 2 indexnodes (4 cpu, 24Gi) and 3 querynodes (8 cpu, 32Gi).
The collection contains 12,383,090 entities (but the number of elements is expected to increase significantly) and will reach for sure about 42,000,000,000 entities.
We have observed a latency that increases exponentially with the increasing number of competing requests :
We use several jobs that run in parallel and contact the milvus simultaneously
The milvus is up to date
What can we do to reduce the response time of the milvus?
Knowing that we would like to increase the number of entities and the number of jobs that perform the requests (expected to reach >300 per second)
Can the milvus hold the load with a collection of several billion entities and such query load ?
Beta Was this translation helpful? Give feedback.
All reactions