Kami memiliki aplikasi yang menanyakan basis data SQL secara berkala sepanjang hari. Ada periode nol atau hanya aktivitas ringan, diselingi dengan permintaan individu untuk jumlah data yang relatif besar. Ketika permintaan itu masuk, tujuan utama adalah untuk mengirimkan data dengan cepat, dan tujuan kedua adalah melakukan hal itu secara efektif. Karena sifat aplikasi, sangat tidak mungkin bahwa data / indeks akan di-cache dalam RAM dari permintaan sebelumnya (pengguna yang berbeda, bekerja pada bagian data yang berbeda).
Untuk sistem yang mengalami penggunaan yang relatif stabil, saya telah mendengar aturan praktis untuk mengamati panjang antrian disk dan menjaga jumlah itu relatif kecil. Ini secara khusus akan berjalan di AWS, di mana saya telah melihat aturan praktis bahwa panjang antrian disk 1 per 100 IOPS masuk akal.
Bagaimana saya bisa memperkirakan persyaratan IO untuk sistem seperti itu? Apakah panjang antrian disk merupakan indikator yang dapat diandalkan saat menangani kueri individual yang bursty? Apakah ada metrik lain yang harus saya pertimbangkan?