Sto cercando la possibilità di misurare quanto tempo ci vuole per completare l'operazione di file emessa al driver NTFS (aprire il file chiudere il file eliminare il file, scrivere, leggere ecc) e per poterlo registrare. Non riesco a modificare l'applicazione per misurare il tempo all'interno dell'app. Sono interessato a quanto tempo passa tra l'emissione di una chiamata e il ritorno all'esecuzione dell'applicazione.
L'applicazione scrive continuamente sul volume NTFS inserito nella memoria iSCSI. Inoltre, rimuove regolarmente i file più vecchi. Le dimensioni dei file sono comprese tra 100 e 200 MB. C'è sempre circa il 10% di spazio libero sul volume. Ad un certo punto l'applicazione non è in grado di scrivere i dati a ritmo regolare, quindi inizia a bufferizzare in memoria. Quindi succede qualcosa e il buffer inizia a svuotarsi e tutto torna alla normalità.
Ho testato le operazioni di I / O su volumi sia fisici che logici - non vedo anomalie durante "l'interruzione"
Ora voglio scoprire se il problema è all'interno dell'applicazione o da qualche parte nel sistema operativo. Per questo motivo stavo pensando che se sono in grado di registrare tutti i tempi delle operazioni sui file, riuscirò a capire se è il sistema che richiede più tempo del solito o le operazioni sono veloci e qualcosa si blocca all'interno dell'applicazione.
La piattaforma è Windows Server 2008R2 a 64 bit. Ho provato il monitor di processo sysinternals ma non registra i tempi di esecuzione. Potrebbero essere necessarie alcune ore prima che il problema appaia.
Puoi suggerire lo strumento giusto per questo lavoro?