Slow performance identified
Hi Support Team,
We are currently evaluating the performance of our messaging system deployed using Docker-Compose and have encountered some concerns regarding message delivery times. Below are the details of our setup and test results:
1. We have set up a Docker-Compose environment as defined in the attached YAML configuration file (dc-novu.yml).
2. The system architecture includes a publisher and a subscriber, which interact through a topic managed by a headless service (headlessService.ts, as detailed in the attached examples) (test.sh).
3. We conducted a test where we sent 100 sequential messages to the topic and measured the latency from the creation (which we read from
message.createdAt
) to the time reception of each message.
4. The test results indicate varied latencies: approximately 10% of the messages are received with a delay of around 1 second, 20% with about 35 ms, and the remainder fall between these two extremes.
5. The test was performed on a machine equipped with 4 CPU cores and 20GB of RAM specifically assigned to WSL. During the test, the CPU usage was consistently at 100%.
We are concerned that these results may indicate a performance bottleneck. Could you please review our configuration and suggest any potential improvements or adjustments that might help optimize performance?
Thank you for your assistance.
Best regards, Grigory3 Replies
Hi @Grigoriy, I'm an AI assistant for Novu. While a team member reviews this question, I'll see if I can find relevant sources for your question.
-----------------------------
While I generate an answer, here are some sources that might be helpful:
* AWS
* Introduction to Novu
* Deploy with Docker
* Messages
-----------------------------
Answer
Sorry, I wasn't able to find any information about your question.
@Zac Clifton
@Grigoriy Sorry for the slow responce, we recommend running a more CPUs in your set up. At minimum we recommend 8 cpus. You can look at our docs for this https://docs.novu.co/self-hosting-novu/introduction
We are are aware that topics are not fully optimized however it is something that we do plan to work on in the future.
I would also recommend running more workers then the docker compose file has in it and would run it around 3-6 workers.
If you run the test again with these changes I am happy to give more feedback on this.