Temos um aplicativo que consulta um banco de dados SQL periodicamente ao longo do dia. Existem períodos de zero ou apenas atividade leve, intercalados com solicitações individuais para quantidades relativamente grandes de dados. Quando essas solicitações chegam, o objetivo principal é entregar os dados rapidamente, e o objetivo secundário é fazer isso de maneira econômica. Devido à natureza do aplicativo, é bastante improvável que os dados / índices tenham sido armazenados em cache na RAM da consulta anterior (usuários diferentes, trabalhando em diferentes partes dos dados).
Para um sistema que apresenta uso relativamente estável, ouvi a regra geral para observar o comprimento da fila de disco e manter esse número relativamente pequeno. Isso será executado especificamente na AWS, onde vi a regra geral de que um comprimento de fila de disco de 1 por 100 IOPS é razoável.
Como posso estimar os requisitos de IO para esse sistema? O comprimento da fila do disco é um indicador confiável ao lidar com consultas individuais e intermitentes? Existem outras métricas que devo considerar?