
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
- availability appwrite 1.8.0
when will the new server version be available for selfhosted?
- [GO] How to work with multiple local pac...
While deploying I get the error `my_module/sub: package my_module/sub is not in std (/usr/local/go/src/my_module/sub)` my code has only one module `my_module`...
- Build-in user attributes unique
Hey! I have a question, i'm creating user via account.create and i was wandering if there is possibility to make name and email unique. I don't wont to go throu...
