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}/executionsMake sure to turn off abuse protection, check_APP_OPTIONS_ABUSEin 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
- restore backup on another server with an...
I managed to restore DB+Volumes from a server to another one with another domain but when I try to click my project on the console, I get error "404 - Project w...
- The console isnt showing documents
In console ui saved documents are being shown on frontend but i can see its showing 4 or number of docs available but in rows its only showing single doc and th...
- Create a project via REST API or SDK, mi...
I am currently self-hosting Appwrite in my local machine, deployed using docker script in the website. I also installed `appwrite-cli` through npm. I am trying...