Ottimizza controllo stabilita file in batch
This commit is contained in:
@@ -241,6 +241,42 @@ Conseguenza osservata:
|
||||
|
||||
Un primo lancio puo' saltare un file come instabile. Un secondo lancio poco dopo puo' copiarlo correttamente. Questo e' comportamento previsto, non un errore.
|
||||
|
||||
Problema prestazionale risolto:
|
||||
|
||||
La prima implementazione controllava la stabilita' in modo sequenziale, file per file. Con 1359 file in coda e valori standard:
|
||||
|
||||
```toml
|
||||
unchanged_check_interval_seconds = 5
|
||||
unchanged_checks_required = 2
|
||||
```
|
||||
|
||||
il backup poteva restare fermo prima del primo `robocopy` per circa:
|
||||
|
||||
```text
|
||||
1359 * 5 * 2 = 13590 secondi, cioe' quasi 4 ore
|
||||
```
|
||||
|
||||
Soluzione adottata:
|
||||
|
||||
Il controllo stabilita' ora lavora a batch:
|
||||
|
||||
1. legge dimensione e timestamp di tutti i file candidati;
|
||||
2. attende l'intervallo configurato;
|
||||
3. ricontrolla tutti i file;
|
||||
4. ripete per il numero di controlli richiesti.
|
||||
|
||||
Con la stessa configurazione, 1359 file richiedono circa 10 secondi di attesa stabilita' complessiva, non 10 secondi per ogni file.
|
||||
|
||||
Sono stati aggiunti log espliciti:
|
||||
|
||||
```text
|
||||
Found N pending files to back up
|
||||
Checking stability for N existing files
|
||||
Running X batch stability check(s) every Y second(s) for N file(s)
|
||||
Batch stability check ...
|
||||
Stability check completed: A stable, B unstable
|
||||
```
|
||||
|
||||
## Controllo raggiungibilita' slave
|
||||
|
||||
Problema:
|
||||
|
||||
Reference in New Issue
Block a user