Skip to content
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

(un-)sharing spaces with large groups is slow #6298

Closed
butonic opened this issue May 12, 2023 · 2 comments
Closed

(un-)sharing spaces with large groups is slow #6298

butonic opened this issue May 12, 2023 · 2 comments

Comments

@butonic
Copy link
Member

butonic commented May 12, 2023

sharing a space with a group that has 2500 users takes ~2sec, unsharing as well...

image

It seems in this case the GroupAPI/GetGroupByClaim is slow ...

The performance impacts load tests in large deployments.

@lemanschik
Copy link

lemanschik commented May 15, 2023

Its just a Idea but maybe graphql is not the right Implementation method for such kind of services.

In Scenarios where the CDN Edge and the backend entrypoint is not on the same server you can forget it in total as there will happen multiple streams from the CDN edge to the backend entrypoint.

Example storys to verify that.

  • How Amazon Prime migrated away from Serverless and Microservices to Monolith and saved over 90% server cost and raised performance
  • See Vercels new offer to store functions directly on cloudflare so that Vercel (NextJS) and so on.

I design cloud Platforms of Multi TB Size and did even larger Scales.

For OpenCloud (Distributed Filesystem with access management ACL on top)
The most performant clever thing would be believe it a NodeJS Backend without any Database.

The Only Database that exists is a Single Json file that you can even rotate to be save from storage issues.

v8 is hell fast when reading json
v8 is hell fast when manipulating json
json stored inside a array gives you already a key value store implementation (hashMap)

the internal format for files no matter what backend you will use as soon as it goes to the browser will be UInt16Array anyway because that's what Javascript ECMAScript uses internal its a UTF-8 Based language a super set of JSON with added computation.

const db = {}
db.myKey = 'hi'
// db.keys() returns ["myKey"]
// db.entries() returns [ ["myKey", "hi"] ]
// db.values() returns ["hi"]

@butonic butonic mentioned this issue May 15, 2023
9 tasks
@butonic
Copy link
Member Author

butonic commented May 16, 2023

#6303 was merged, closing

@butonic butonic closed this as completed May 16, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

No branches or pull requests

2 participants