
On my instance, i have really tons of request made each second (see pictures, the blue is because my boss want enterprise color everywhere...)
My problem is that i am bottleneck by the redis, i have tried to setup the redis as a clustered one but it does not seems to work.
Currently i have 2 vps 16vcore and 16go RAM, i would like to scale to be able to take more.
My base idea was to setup the redis as a cluster + the mariadb on one of the VPS and appwrite on the other one.
@D5 here the post

Are you setting a password for the Redis cluster?

No, as we discuss previously you not support password on redis

Also, congratulations. If that's not a DDoS and real/valid requests 🙂

Okay, what error are you getting?

appwrite | Fatal error: Uncaught RedisException: MOVED 5994 172.18.0.4:7001 in /usr/src/code/vendor/utopia-php/cache/src/Cache/Adapter/Redis.php:39
appwrite | Stack trace:
appwrite | #0 /usr/src/code/vendor/utopia-php/cache/src/Cache/Adapter/Redis.php(39): Redis->hGet('default-cache-_...', 'default-cache-_...')
appwrite | #1 /usr/src/code/vendor/utopia-php/cache/src/Cache/Adapter/Sharding.php(55): Utopia\Cache\Adapter\Redis->load('default-cache-_...', 86400, 'default-cache-_...')
appwrite | #2 /usr/src/code/vendor/utopia-php/cache/src/Cache/Cache.php(49): Utopia\Cache\Adapter\Sharding->load('default-cache-_...', 86400, 'default-cache-_...')
appwrite | #3 /usr/src/code/vendor/utopia-php/database/src/Database/Database.php(2925): Utopia\Cache\Cache->load('default-cache-_...', 86400, 'default-cache-_...')
appwrite | #4 /usr/src/code/vendor/utopia-php/database/src/Database/Database.php(1283): Utopia\Database\Database->getDocument(Object(Utopia\Database\Document), 'audit')
appwrite | #5 /usr/src/code/vendor/utopia-php/database/src/Database/Database.php(495): Utopia\Database\Database->Utopia\Database\{closure}()
appwrite | #6 /usr/src/code/vendor/utopia-php/database/src/Database/Database.php(1283): Utopia\Database\Database->silent(Object(Closure))
appwrite | #7 /usr/src/code/app/http.php(198): Utopia\Database\Database->getCollection('audit')
appwrite | #8 [internal function]: {closure}()
appwrite | #9 {main}
appwrite | thrown in /usr/src/code/vendor/utopia-php/cache/src/Cache/Adapter/Redis.php on line 39

Sorry, i'm more on the dev side than the admin system side, its the first time i have this kind of problem.

From what I understand, appwrite/utopia doesn't support natively Redis cluster so that's why it throws that error.

Alternatively you will need to use a proxy

Like twemproxy

So it acts as a single Redis instance, but it's actually a cluster

How do you scale on your side I have tried twemproxy but it does not support brpop command. And appwrite seems to use this kind of redis command

Well, I didn't need to scale it horizontally yet. Cloud needed it, but no idea how they handle it.
From what I understand they use a proxy.
Maybe you can try envoy proxy?

i will retry twemproxy, maybe i have not configured it correctly, if its possible could you ask how the cloud version scale ?
Recommended threads
- Unhandled Runtime ErrorError: email@mail...
I'm encountering this issue when I try to login <#1072905050399191082> <#564161373148414012>
- account.get() does not return userId?
after reading what i could find on sessions (https://appwrite.io/docs/references/cloud/models/session) and account (https://appwrite.io/docs/references/cloud/cl...
- Help with Many-to-Many Relationship and ...
Hello everyone, I'm encountering an error when trying to update a document (in the web console) from a relationship collection: "Invalid relationship value..."...
