Hi, We have about 20 beta testers and our mobile app obtain lot of timeout when executing cloud functions. We have 8 Go RAM and 4vCPU. Usually, our cloud function took bout 150/300ms to execute, but something we got timeout when reaching 15s. How to identify the cause ?
What does your function look like?
We have multiple cloud function, but the main is with about to 20 request in database (read) and calling another function (with async = true)
Hey there 👋 How much concurrency do you do? By default, Appwrite can handle 6 concurrent requests per core. I can imagine things slow down heavily after hitting those limits.
What you can do is to increase function timeout in function settings, and see if that at least successfully finishes the execution. That can be helpful because a successful execution shows logs, and you can use logs to do some timing and see which parts of the code takes the most of the time.
If we see those methods in Appwrite SDK are taking most of the time, I would be pretty confident that we are hitting too many concurrent executions.
Please let me know what you found out and based on that, I can give you suggestion on text steps.
I am afraid by your numbers . In this benchmark https://github.com/appwrite/realtime-1-million there were 2000 requests per second. Your server slowing down with 20 users, that s scary. There must be something wrong in the cloud function.
might you be referring to slow start of the function(cold start)? As the functions run in docker, which has to be started. I've heard there is a setting which can disable the sleep timeout, or make it longer. Dont remember where i've read that though..
Yes, actually I've improve the timing for function sleep, improve the timeout of each function, and optimise my cloud function (before, i made lot of small request (20), now I make big request and sort after with custom algo). I've test & hope that is enought 🙂
@Mickaël LT do you selfhost appwrite ? If yes I can imagine that the default appwrite stack needs some tweaking maybe.
Yes, I've seen some tips to improve the stack for my case, but before this, I want to know where is my bottleneck
Could it be appwrite's rate limiting ?
Recommended threads
- Realtime api and labels as permission
in my tables i set labels as permission and real-time capabilities stopped working. Before when i was having "any" role everything was working. Note: user have...
- After assigning a domain to my Dart func...
I’ve attached the images. Could anyone please explain how this execution is being performed?
- how to access the value of account statu...