-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
Meilisearch stops responding when getting "enough" concurrent traffic #4654
Comments
Hello! Thank you for your report! I tried reproducing following the procedure you detailed but I wasn't successful in reproducing the issue. Here is what I observe:
Following this, a:
Still answers and so does:
|
Thanks for digging into this. So I tried this again. Computer I am running this is MacBook Air, M2, 16G RAM, OS XSonoma 14.5. This also happened on fly.io instance (using docker image, x64) I am in empty directory and I started Meilisearch with this:
Output (so version is 1.8.1, installed via brew):
Then I created test index:
Then, running the meilisearch-test.js:
Everything goes fine:
Then with 100 VUs:
So it stopped on 2392 requests. Then it did not respond at all. It still listens on port 7700 but nothing happens. Only restarting meilisearch again resolves this. It seems that if i added If I add Hopefully this helps out reproducing the issue. |
OK, with this detailed report I now reproduced (but only with the meilisearch from homebrew so far). I also think I understand a part of what is happening. That means that before performing a search request, Meilisearch checks for a permit to do so. I think the sequence of events is roughly the following:
This explains why you're not seeing the freeze with I'll try to reproduce with a debug build but it might be tricky since it looks timing related. I'll keep you informed |
Opened #4681 with a fix. Waiting to decide if it lands in a 1.8.2 or a v1.9.0 Thank you again for your report ❤️ Meanwhile, as described, there is the workaround of setting |
Closed by #4681 |
I am unsure of whether I should open a new issue or post here, so please tell me if this isn't the place. We're still experiencing this issue, or one very similar, on 1.8.2. Meilisearch will randomly stop processing HTTP requests. This also happens even with |
Alright this needs another investigation then :-) |
Our current suspicion is that it's related to embeddings, but we can no longer recreate it. Sorry about the noise. |
Thanks a lot! |
Issue:
When running tests with k6 and when going over specific number of VUs (virtual users) Meilisearch just stops responding to HTTP requests.
How to replicate:
meilisearch-test.js
It probably passes nicely, here it accomplishes something like 200k reqs.
Here with 50 VUs it also completes, about 170k reqs.
But then, with 100 VUs:
It completes 2700 reqs and then meilisearch http 7700 does not answer anymore.
Having checked TRACE and DEBUG logs, I cannot see anything which sheds more light to it. So no any idea what actually crashes there. Actually, nothing crashes, it just stops responding.
Machine should have enough memory and CPU but CPU/RAM usage is not even spiking.
Tried also to play with
--experimental-search-queue-size
-setting, but no mentionable difference with that.Edit: seems that setting that to
0
keeps Meilisearch alive.meilisearch-test.js:
The text was updated successfully, but these errors were encountered: