Abbiamo un'applicazione che interroga periodicamente un database SQL durante il giorno. Vi sono periodi di zero o solo attività leggera, intervallati da richieste individuali per quantità relativamente elevate di dati. Quando arrivano queste richieste, l'obiettivo primario è quello di consegnare rapidamente i dati e l'obiettivo secondario è farlo in modo economico. A causa della natura dell'applicazione, è abbastanza improbabile che i dati / indici siano stati memorizzati nella cache nella RAM della query precedente (utenti diversi, lavorando su parti diverse dei dati).
Per un sistema che ha un utilizzo relativamente costante, ho sentito la regola empirica osservare la lunghezza della coda del disco e mantenere quel numero relativamente piccolo. Questo verrà eseguito specificamente in AWS, dove ho visto la regola empirica secondo cui una lunghezza della coda del disco di 1 per 100 IOPS è ragionevole.
Come posso stimare i requisiti di I / O per un tale sistema? La lunghezza della coda del disco è un indicatore affidabile quando si gestiscono query singole e sfocate? Ci sono altre metriche che dovrei considerare?