نجی آف شور انفراسٹرکچر
اسٹوریج اور بحالیایڈوانسڈ · 6 منٹ پڑھیں

اپنے آپ کو گمراہ کیے بغیر NVMe کارکردگی کی پیمائش کریں

ڈسک ٹیسٹ سے ایپلیکیشن کا نتیجہ اخذ کرنے سے پہلے I/O پیٹرن متعین کریں، کیش اثرات کو قابو کریں اور لیٹنسی کی تقسیم کا معائنہ کریں۔

از SwissOctet ایڈیٹوریل
سیدھا جواب

ایک مفید اسٹوریج ٹیسٹ آپریشن کے سائز، رسائی کے پیٹرن، ہم وقتی اور پائیداری کی ضروریات کو ایپلیکیشن سے ملاتا ہے۔ ٹیسٹ کے حالات اور لیٹنسی کی تقسیم ریکارڈ کریں، پھر ایپلیکیشن کی پیمائش سے نتیجے کی تصدیق کریں۔

01

اسکور کے بجائے اسٹوریج کے سوال سے شروع کریں

بینچ مارک چلانے سے پہلے فیصلہ کریں کہ آپ کو کیا جاننے کی ضرورت ہے۔ آپ سست ڈیٹا بیس کمیٹس، فائل ڈسٹری بیوشن تھروپٹ یا ایسے بلڈ عمل کی تحقیق کر رہے ہوں گے جو بہت سی چھوٹی فائلیں بناتا ہے۔ یہ کام ڈسک سے ایک جیسی چیز نہیں مانگتے۔ ایک بڑی ترتیبی کاپی متاثر کن لگ سکتی ہے جبکہ چھوٹی بے ترتیب ریڈز کرنے والی سروس کے تجربے میں آنے والی تاخیر کے بارے میں بہت کم بتاتی ہے۔

NVMe کو غیر متغیر میڈیا اور موثر متوازی I/O کے لیے ڈیزائن کیا گیا تھا، لیکن اس کے پروٹوکول کا نام ہوسٹڈ اسٹوریج کے راستے کے ہر حصے کو بیان نہیں کرتا۔ ورچوئلائزیشن، فائل سسٹم، وسائل کا مقابلہ اور ایپلیکیشن اب بھی اہم ہیں۔ ایک ٹیسٹ مفروضہ لکھیں، مثلاً کیا اسٹوریج لیٹنسی کسی خاص آپریشن کو سست کر رہی ہے، بجائے اس کے کہ کوئی ایسا نمبر پیدا کرنے کی کوشش کریں جو ثابت کرے کہ پورا سرور تیز ہے۔

02

کام کے بوجھ کو دوبارہ پیدا ہونے والی شرائط میں بیان کریں

آپریشن کا سائز، ترتیبی یا بے ترتیب پیٹرن، ریڈ ٹو رائٹ مکس، جابز کی تعداد اور قطار کی گہرائی ریکارڈ کریں۔ ڈیٹاسیٹ کا سائز اور ٹیسٹ کا دورانیہ شامل کریں۔ fio کی دستاویزات ان کام کے بوجھ کے کنٹرولز اور دستیاب I/O انجنوں کی وضاحت کرتی ہیں۔ ہر انجن یا سیٹ اپ مطلوبہ گہرائی حاصل نہ کر سکے، لہٰذا آپ کی درخواست کردہ ترتیب کے ساتھ ساتھ رپورٹ شدہ رویہ بھی پڑھیں۔

نتیجے کے ساتھ ٹیسٹ کی تفصیل کی ایک کاپی رکھیں۔ آپریٹنگ سسٹم، فائل سسٹم، ماؤنٹ آپشنز، سروس کی سرگرمی اور دستیاب صلاحیت نوٹ کریں۔ اگر آپ ترتیبات کا موازنہ کرتے ہیں تو ایک وقت میں ایک متعلقہ شرط تبدیل کریں۔ مختلف رسائی پیٹرن یا ہم وقتی والے ٹیسٹ کو منصفانہ طور پر ایسے پیش نہیں کیا جا سکتا جیسے صرف اسٹوریج میڈیم بدلا ہو۔

ایپلیکیشن پیٹرنبیان کرنے کے لیے ٹیسٹ کی جہتجانچنے کا نتیجہ
بڑی فائل کی ترسیلترتیبی ریڈز اور ہم وقت کلائنٹسمسلسل تھروپٹ اور CPU کا استعمال
ریکارڈ لک اپچھوٹی بے ترتیب ریڈز اور نمائندہ ہم وقتیلیٹنسی کی تقسیم اور مکمل شدہ آپریشنز
پائیدار لین دینرائٹ اور ہم آہنگی کی ضروریاتکمیٹ سے متعلق تاخیر، نہ کہ صرف بفر شدہ رائٹ کی رفتار
بلڈ یا ایکسٹریکشنمخلوط چھوٹی فائل آپریشنزاینڈ ٹو اینڈ جاب کا دورانیہ اور I/O انتظار
03

کیشنگ کو کنٹرول کریں بغیر یہ ظاہر کیے کہ یہ اہم نہیں

ایسا ڈیٹاسیٹ جو میموری میں فٹ ہو جائے، پہلی بار کے بعد زیادہ تر کیش کے رویے کی پیمائش کر سکتا ہے۔ یہ مفید ہو سکتا ہے اگر ایپلیکیشن عام طور پر اسی کیش سے فائدہ اٹھاتی ہو، لیکن اسے خام ڈیوائس کی کارکردگی کا لیبل نہیں لگانا چاہیے۔ جان بوجھ کر انتخاب کریں کہ ٹیسٹ گرم ایپلیکیشن راستے، ٹھنڈے ڈیٹاسیٹ یا ایسے I/O موڈ کا جائزہ لے رہا ہے جو آپریٹنگ سسٹم کے بفرنگ اثر کو کم کرنے کے لیے ہے۔

ڈائریکٹ I/O کی حمایت اور الائنمنٹ پلیٹ فارم اور انجن پر منحصر ہے۔ یہ خود بخود ایپلیکیشن کی پائیداری کی ضروریات کا اظہار بھی نہیں کرتا اور نہ ہی اسٹیک میں ہر کیش کو ختم کرتا ہے۔ منتخب کردہ موڈ واضح طور پر بیان کریں، اور بفر شدہ ٹیسٹ کا غیر بفر شدہ ٹیسٹ سے موازنہ کرنے سے گریز کریں جیسے وہ ایک ہی کام کی نمائندگی کرتے ہوں۔ جہاں تشریح میں مدد ملے، وارم اپ اور پیمائش شدہ وقفوں کو الگ رکھیں۔

04

تھروپٹ کے ساتھ ساتھ لیٹنسی کی دم پڑھیں

اوسط لیٹنسی ان سست آپریشنز کو چھپا سکتی ہے جو حقیقی درخواستوں کو متاثر کرتے ہیں۔ رپورٹ شدہ پرسنٹائلز اور ان کے پیچھے موجود نمونوں کی تعداد کا جائزہ لیں۔ ایک اعلیٰ پرسنٹائل اس حد کو بیان کرتا ہے جس کے نیچے اس ٹیسٹ کے دوران مشاہدہ شدہ آپریشنز کا ایک مخصوص حصہ رہا؛ یہ مستقل سروس کی ضمانت نہیں ہے۔ مختصر یا غیر نمائندہ رنز مصروف پیداواری ادوار کے بارے میں محدود ثبوت دیتے ہیں۔

زیادہ قطار کی گہرائی مکمل شدہ تھروپٹ کو بہتر بنا سکتی ہے جبکہ انتظار کا وقت بڑھا سکتی ہے۔ یہ تجارت بیچ پروسیسنگ کے لیے موزوں اور انٹرایکٹو سروس کے لیے نقصان دہ ہو سکتی ہے۔ ایپلیکیشن سے ملتی جلتی ہم وقتی پر نتائج کا موازنہ کریں، اور اسی وقت CPU اور I/O دباؤ کی نگرانی کریں۔ ٹیسٹ سے پہلے رکیں کہ یہ ماحول شیئر کرنے والے کسی دوسرے کام کے بوجھ کے لیے غیر ضروری خلل پیدا کرے۔

05

ٹیسٹ کو مجاز اور غیر تباہ کن رکھیں

ایک مخصوص ٹیسٹ ڈائریکٹری یا تیار شدہ ڈسپوزایبل والیوم استعمال کریں، جس میں کافی خالی جگہ اور واضح صفائی کا منصوبہ ہو۔ کبھی بھی رائٹ بینچ مارک کو غیر تصدیق شدہ خام ڈیوائس یا پیداواری ڈیٹاسیٹ پر نہ لگائیں۔ شروع کرنے سے پہلے ٹول کے ہدف اور رائٹ رویے کی جانچ کریں، اور محدود رن سے آغاز کریں۔ مصنوعی I/O صلاحیت استعمال کر سکتا ہے اور سروسز میں مداخلت کر سکتا ہے چاہے یہ مفید فائلوں کو اوور رائٹ نہ کرے۔

پیداوار جیسی تشخیص کے لیے، مینٹیننس ونڈو طے کریں اور ایپلیکیشن کی نگرانی برقرار رکھیں۔ جہاں ممکن ہو من گھڑت ڈیٹا استعمال کریں۔ اسپیڈ ٹیسٹ سے اسٹوریج کی بھروسے مندی کا اندازہ نہ لگائیں: انٹیگریٹی چیکس، بیک اپ اور بحالی الگ کام ہیں۔ جو ڈیوائس بینچ مارک مکمل کر لے، اسے پھر بھی حذف، سافٹ ویئر کی غلطیوں یا مشین کے ضیاع کے لیے بحالی حکمت عملی درکار ہے۔

06

ایپلیکیشن ثبوت کے ساتھ چکر مکمل کریں

فرض کریں کہ ایک رپورٹ سروس اپنا زیادہ وقت بے ترتیب ریڈز کے انتظار میں گزارتی ہے۔ ٹیم نمائندہ ریڈ پیٹرن کی جانچ کرتی ہے، پھر قابل موازنہ ڈیٹا کے خلاف اصل رپورٹ دہراتی ہے۔ اگر رپورٹ بہتر ہو جائے جبکہ اس کا دیگر کام مستحکم رہے، تو نتیجہ اسٹوریج کے مفروضے کی تائید کرتا ہے۔ اگر ایسا نہ ہو، تو وسیع تر مصنوعی ٹیسٹ دہرانے کے بجائے کوئری ڈیزائن، میموری یا کسی اور انحصار کی تحقیق کریں۔

Pulse NVMe اور منتخب مخصوص ترتیبات SwissOctet کیٹلاگ میں NVMe اسٹوریج کی فہرست دیتے ہیں۔ ان کے لیبل تفصیلات ہیں، شائع شدہ ایپلیکیشن بینچ مارک نہیں۔ فراہم کردہ ماحول کا جائزہ لینے کے لیے کنٹرول شدہ طریقہ استعمال کریں اور نتائج کے ساتھ حالات محفوظ رکھیں۔ فیصلہ اس وقت مضبوط ہوتا ہے جب اسٹوریج کی پیمائش اور صارف کو نظر آنے والا نتیجہ ایک ہی سوال کا جواب دیں۔

اسے عمل میں بدلیں

آپ کی عملی چیک لسٹ۔

  • پہلے ایپلیکیشن کا سوال متعین کریں۔
  • پیٹرن، بلاک سائز، ہم وقتی اور دورانیہ ریکارڈ کریں۔
  • کیش اور I/O موڈ کے مفروضے بیان کریں۔
  • تھروپٹ کے ساتھ ساتھ لیٹنسی پرسنٹائلز کا معائنہ کریں۔
  • تصدیق شدہ ڈسپوزایبل ہدف اور محدود ابتدائی بوجھ استعمال کریں۔
  • ایپلیکیشن ٹیسٹ سے نتیجے کی تصدیق کریں۔
عام سوالات

وہ تفصیلات جو اہم ہیں۔

کیا ڈیٹا بیس اسٹوریج کا موازنہ کرنے کے لیے ترتیبی کاپی کافی ہے؟+

عام طور پر نہیں۔ ڈیٹا بیس رسائی میں چھوٹی بے ترتیب ریڈز، رائٹس اور ہم آہنگی شامل ہو سکتی ہے۔ متعلقہ پیٹرن کی ماڈلنگ کریں اور اصل ایپلیکیشن کی تصدیق کریں۔

کیا ڈائریکٹ I/O پائیدار رائٹس ثابت کرتا ہے؟+

نہیں۔ بفرنگ اور پائیداری الگ معاملات ہیں۔ ایپلیکیشن کی مطلوبہ ہم آہنگی کے رویے سے مطابقت رکھیں۔

کیا میں ایک ٹیسٹ کو ضمانت شدہ پلان اسپیڈ کے طور پر شائع کر سکتا ہوں؟+

نہیں۔ اس کے حالات اور دائرہ کار شائع کریں۔ ایک رن کا پیمائش شدہ نتیجہ سروس لیول یا مستقبل کی کارکردگی کی ضمانت نہیں ہے۔

بنیادی حوالہ جات

ماخذ پر جائیں۔

یہ حوالہ جات اس گائیڈ میں تکنیکی تصورات کی حمایت کرتے ہیں۔ پروڈکشن سسٹم تبدیل کرنے سے پہلے موجودہ دستاویزات کی پیروی کریں۔

  1. fio: لچکدار I/O ٹیسٹر کی دستاویزات fio.readthedocs.io
  2. NVM Express: تفصیلات کا جائزہ اور عمومی سوالات nvmexpress.org
  3. Linux کرنل: پریشر اسٹال انفارمیشن docs.kernel.org

SwissOctet کی طرف سے ادارتی رہنمائی۔ مثالیں مثالی ہیں۔ سروس کی تفصیلات، دستیاب اختیارات اور معاہدے کی شرائط الگ سے تصدیق شدہ ہونی چاہئیں۔

علم کو جوڑیں

متعلقہ انفراسٹرکچر۔

دھاگہ رکھیں

آپ کے اگلے فیلڈ نوٹس۔

ہر گائیڈ دریافت کریں