Hi, I'm running appwrite on my vps.. I just want to know the performance and limits of appwrite on my vps. Is there anyway to check the performance?
I'm general, you would perform a load test with something like k6
You can run a few tests type to get a grasp of your Appwrite performance.
Tests
Run your tests against some endpoint that will have to do some Appwrite logic. The best would be
- POST creating document -
/v1/databases/{databaseId}/collections/{collectionId}/documents
- GET getting documents -
/v1/databases/{databaseId}/collections/{collectionId}/documents
- POST executing a function
/v1/functions/{functionId}/executions
Make sure to turn off abuse protection, check_APP_OPTIONS_ABUSE
in https://appwrite.io/docs/environment-variables#general
Load test First as Steven suggested run a "load test" in which you'll test the ability of your server to response to as much connections possible, You can use oha/k6s for that one
Stress test
Second, now you can run a "Stress test" in which you're testing the ability of your Appwrite server to remain responsible over time!
Because you're testing the server ability to server N users it will be best to add sleep
to your k6s testing suite, like so:
import http from 'k6/http';
import {sleep} from 'k6';
export default () => {
const data = {
"data": JSON.stringify({data:'someData'})
}
// Executing a function.
const urlRes = http.post('https://you.appwrite.cloud/v1/functions/{functionId}/executions',JSON.stringify(data),{
headers: {
'Content-Type': 'application/json'
'X-Appwrite-Project': '5df5acd0d48c2'
},
});
sleep(1);
}
Without adding the sleep the stress tests become load testing and won't give close-to-the-truth results.
Make sure to run all those tests without any DNS in the middle like Cloudflare (you can avoid that by using custom hosts file in the local machine)
Links:
I guess I need to use api keys so that I won't be rate limited by appwrite
Yes Or you can disable the abuse which remove the rate limiter
But there are no limitation for api keys right?
No
Recommended threads
- Having issues with login via CLI
``` ~/appwrite î‚° appwrite login --endpoint https://localhost/v1 --verbose ? Enter your email myvalidemai...
- Send Email Verification With REST
I am using REST to create a user on the server side after receiving form data from the client. After the account is successfully created i wanted to send the v...
- Use different email hosts for different ...
Hello, I have 2 projects and i want to be able to set up email templates in the projects. Both projects will have different email host configurations. I see ...