Hello,
We are using playFramework (2.6.1) with reactivemongo (0.13.0) and we experience unexpected behaviour.
Basically, we have an application that runs lots queries, fast and slow. When all queries are fast, everything goes well, but when some of them start to become slow (database growing), we start to observe that some
slow queries seem to last abnormally long.
After investigation, we started to look toward akka dispatcher used by reactivemongo. We have tried several configurations and still, we did not manage to find a proper solution.
The code in playm basically:
- creates 24 actors to send fast queries and 6 actors to send slow queries (all number configurable in application.conf)
- all the messages are sent at the same time
- print the time taken to process the request with reactive mongo
Here is what we have:
- lots of fast queries (16) ends within 1200 ms
- all the others end after 40000 ms
[1165 ms] fast-query-12 finished request, got 10 results.
[1159 ms] fast-query-22 finished request, got 10 results.
[1167 ms] fast-query-1 finished request, got 10 results.
[1166 ms] fast-query-7 finished request, got 10 results.
[1166 ms] fast-query-2 finished request, got 10 results.
[1165 ms] fast-query-20 finished request, got 10 results.
[1834 ms] fast-query-4 finished request, got 10 results.
[1170 ms] fast-query-18 finished request, got 10 results.
[1174 ms] fast-query-9 finished request, got 10 results.
[1176 ms] fast-query-14 finished request, got 10 results.
[1175 ms] fast-query-16 finished request, got 10 results.
[1182 ms] fast-query-23 finished request, got 10 results.
[1175 ms] fast-query-17 finished request, got 10 results.
[1843 ms] fast-query-6 finished request, got 10 results.
[1189 ms] fast-query-11 finished request, got 10 results.
[1186 ms] fast-query-15 finished request, got 10 results.
[39842 ms] slow-query-4 finished request, got 10 results.
[40851 ms] slow-query-5 finished request, got 10 results.
[40184 ms] fast-query-24 finished request, got 10 results.
[41023 ms] slow-query-1 finished request, got 10 results.
[41075 ms] fast-query-8 finished request, got 10 results.
[40458 ms] fast-query-21 finished request, got 10 results.
[40507 ms] fast-query-5 finished request, got 10 results.
[40508 ms] fast-query-3 finished request, got 10 results.
[41167 ms] slow-query-6 finished request, got 10 results.
[40529 ms] fast-query-19 finished request, got 10 results.
[40536 ms] fast-query-10 finished request, got 10 results.
[41198 ms] slow-query-3 finished request, got 10 results.
[40594 ms] fast-query-13 finished request, got 10 results.
[40604 ms] slow-query-2 finished request, got 10 results.
We have not a lot of experience with akka (or reactivemongo) and maybe we are doing something wrong.
Any help is appreciated, thank you!