-
Notifications
You must be signed in to change notification settings - Fork 123
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Huge CPU usage of qdrant client when deserializing payload #714
Comments
hi @GDegrove just to be sure, could you also provide the version of pydantic you're using? |
We are using pydantic 2, for exactitude |
We'll try to look into it, thanks for pointing it out |
Pydantic doesn't use the |
Title: High CPU Usage with Qdrant Async Client for GRPC and REST Endpoints
Description:
We are experiencing significant CPU usage spikes when enabling the Qdrant async client for both GRPC and REST endpoints. By utilizing a profiling tool (Parca), we have identified that a considerable portion of CPU time is being consumed by payload deserialization.
This issue is particularly problematic for applications like recommendation engines that rely on Qdrant as a vector database, as it results in a substantial increase in CPU requirements for our application.
Steps to Reproduce:
Expected Behavior:
Actual Behavior:
Environment:
Proposed Solution:
To mitigate the high CPU usage, we propose utilizing orjson for JSON serialization and deserialization. orjson is known for its performance benefits compared to the standard JSON library in Python. By replacing the current deserialization process with orjson, we anticipate a reduction in CPU overhead.
Additional Context:
This CPU overhead is posing a challenge in deploying Qdrant in resource-constrained environments. Any guidance or fixes to address this issue would be greatly appreciated.
The text was updated successfully, but these errors were encountered: