Test di Carico e Stress su MongoDB
Budget: €250 – €750 EUR
Ho un sistema di sincronizzazione dati basato su MongoDB, composto da:
- 1 database master
- N database client (almeno 20)
- 1 modulo di sincronizzazione per ogni client, che sincronizza il database master con il database locale, analizzando una tabella chiamata Syncro.
- 1 API per ogni client, che gestisce le operazioni CRUD sul database del client.
- Ogni operazione di scrittura (create/update/delete) aggiunge un record nella collection Syncro, utilizzata dal modulo di sincronizzazione per capire quali modifiche replicare sul master.
- 1 front-end per ogni client, utilizzato per eseguire operazioni utente sull’interfaccia.
Tutti i componenti (API, client e modulo di sincronizzazione) funzionano come applicazioni Windows (.exe) configurabili tramite file appconfig.json.
L'obiettivo del progetto è eseguire un test di carico e uno stress test realistico per valutare:
- la stabilità del sistema in presenza di almeno 20 client attivi e un master;
- la correttezza della sincronizzazione (tutti i database client devono rimanere sempre allineati tra loro e con il master);
- le prestazioni complessive (latenza di replica, tempi di convergenza, gestione dei conflitti, consumo risorse).
Non è importante se i test vengono eseguiti manualmente tramite interfaccia client o tramite chiamate API (Postman, JMeter, NBomber, k6, ecc.).
L’importante è che i risultati siano realistici e documentati.
Il setup di test lo fornisco io.
Dal report finale mi interessa:
- eventuali incongruenze tra database;
- metriche raccolte (tempo medio di sync, throughput, errori, lag, consumo CPU/RAM/IO);
- 1 database master
- N database client (almeno 20)
- 1 modulo di sincronizzazione per ogni client, che sincronizza il database master con il database locale, analizzando una tabella chiamata Syncro.
- 1 API per ogni client, che gestisce le operazioni CRUD sul database del client.
- Ogni operazione di scrittura (create/update/delete) aggiunge un record nella collection Syncro, utilizzata dal modulo di sincronizzazione per capire quali modifiche replicare sul master.
- 1 front-end per ogni client, utilizzato per eseguire operazioni utente sull’interfaccia.
Tutti i componenti (API, client e modulo di sincronizzazione) funzionano come applicazioni Windows (.exe) configurabili tramite file appconfig.json.
L'obiettivo del progetto è eseguire un test di carico e uno stress test realistico per valutare:
- la stabilità del sistema in presenza di almeno 20 client attivi e un master;
- la correttezza della sincronizzazione (tutti i database client devono rimanere sempre allineati tra loro e con il master);
- le prestazioni complessive (latenza di replica, tempi di convergenza, gestione dei conflitti, consumo risorse).
Non è importante se i test vengono eseguiti manualmente tramite interfaccia client o tramite chiamate API (Postman, JMeter, NBomber, k6, ecc.).
L’importante è che i risultati siano realistici e documentati.
Il setup di test lo fornisco io.
Dal report finale mi interessa:
- eventuali incongruenze tra database;
- metriche raccolte (tempo medio di sync, throughput, errori, lag, consumo CPU/RAM/IO);