हमारे पास एक एप्लिकेशन है जो पूरे दिन में समय-समय पर एक SQL डेटाबेस से पूछताछ करता है। अपेक्षाकृत बड़ी मात्रा में डेटा के लिए अलग-अलग अनुरोधों के साथ, शून्य या केवल प्रकाश गतिविधि की अवधि होती है। जब वे अनुरोध आते हैं, तो प्राथमिक उद्देश्य डेटा को शीघ्रता से वितरित करना है, और द्वितीयक उद्देश्य उस लागत को प्रभावी ढंग से करना है। एप्लिकेशन की प्रकृति के कारण, यह काफी संभावना नहीं है कि डेटा / इंडेक्स पिछली क्वेरी से रैम में कैश किए गए होंगे (विभिन्न उपयोगकर्ता, डेटा के विभिन्न भागों पर काम कर रहे हैं)।
अपेक्षाकृत स्थिर उपयोग का अनुभव करने वाली प्रणाली के लिए, मैंने डिस्क कतार लंबाई का निरीक्षण करने और उस संख्या को अपेक्षाकृत छोटा रखने के लिए अंगूठे के नियम को सुना है। यह विशेष रूप से AWS में चलेगा, जहाँ मैंने अंगूठे के नियम को देखा है कि डिस्क प्रति पंक्ति 1 प्रति 100 IOPS उचित है।
मैं ऐसी प्रणाली के लिए IO आवश्यकताओं का अनुमान कैसे लगा सकता हूं? क्या व्यक्तिगत, फालतू प्रश्नों से निपटने के लिए डिस्क कतार की लंबाई एक विश्वसनीय संकेतक है? क्या अन्य मीट्रिक हैं जिन पर मुझे विचार करना चाहिए?