במאמר הזה מוסבר איך להשוות בין ביצועים של Persistent Disk במכונות וירטואליות (VM) של Windows. במכונות וירטואליות של Linux, אפשר לעיין במאמר בנושא השוואת ביצועים של דיסק אחסון מתמיד במכונת VM של Linux.
כדי למדוד את ה-IOPS ואת קצב העברת הנתונים של דיסק שנמצא בשימוש במופע פעיל, צריך לבצע בדיקת ביצועים של מערכת הקבצים עם התצורה המיועדת שלה. אפשר להשתמש באפשרות הזו כדי לבדוק עומס עבודה ריאלי בלי לאבד את התוכן של הדיסק הקיים. שימו לב: כשמבצעים השוואה בין מערכות קבצים בדיסק קיים, יש הרבה גורמים ספציפיים לסביבת הפיתוח שיכולים להשפיע על תוצאות ההשוואה, ויכול להיות שלא תגיעו למגבלות הביצועים של הדיסק.
כדי למדוד את הביצועים הגולמיים של דיסק אחסון מתמיד (persistent disk), צריך להשתמש בבדיקת ביצועים (benchmark) של מכשיר הבלוקים ישירות. אפשר להשתמש באפשרות הזו כדי להשוות בין הביצועים הגולמיים של הדיסק לבין מגבלות הביצועים של הדיסק.
במכונות וירטואליות מסוג C4, מערכת Windows תומכת בעומק מקסימלי של 1024 לכל תור של שליחת מכשיר. כשממלאים תור, Windows מפסיק לשלוח קלט/פלט עד שהתור מתרוקן באופן חלקי, מה שמפחית משמעותית את הביצועים. כדי להימנע מהפעלת התנאי הזה, מומלץ להגביל את עומסי העבודה של ההשוואה לביצועים לעומק תור מצטבר של 1,024 לכל נפח אחסון שמצורף.
הגדרת תוכנת השוואה לשוק
כדי לבצע בדיקת ביצועים של דיסק אחסון מתמיד במכונות וירטואליות של Windows, משתמשים ב-DISKSPD.
פותחים את Powershell ומורידים את הכלי
DISKSPDבאמצעות הפקודה הבאה:$client = New-Object System.Net.WebClient $client.DownloadFile("https://github.com/Microsoft/diskspd/releases/latest/download/DiskSpd.zip","$env:temp\DiskSpd-download.zip") Expand-Archive -LiteralPath "$env:temp\DiskSpd-download.zip" C:\DISKSPD Get-ChildItem C:\DISKSPD
השוואה בין IOPS וקצב העברת נתונים של דיסק במכונת VM פעילה
כדי למדוד את IOPS ואת קצב העברת הנתונים עבור עומס עבודה ריאלי בדיסק פעיל במופע של מכונה וירטואלית שפועלת, בלי לאבד את התוכן של הדיסק, צריך לבצע השוואה לביצועים של ספרייה חדשה במערכת הקבצים הקיימת.
בשלבים הבאים נניח שהדיסק לבדיקה מותקן כ-D: והפקודות מופעלות בחלון Command Prompt (cmd.exe) עם הרשאות אדמין:
מאמתים את
DISKSPDהגדרת התוכנה ומשנים את הספרייה לבינארי 64-ביט:cd C:\DISKSPD\amd64
יוצרים קובץ חדש בגודל 10 GB בשם
DISKTEST.DATבדיסק:set TESTFILE=D:\DISKTEST.DAT diskspd -d0 -c10G %TESTFILE%
כדי לבדוק את קצב העברת הנתונים לכתיבה, מבצעים כתיבות רציפות עם כמה זרמים מקבילים (16 או יותר), באמצעות גודל בלוק של קלט/פלט של 1 MB ועומק קלט/פלט של 64 לפחות:
diskspd -d300 -b1M -o64 -Sh -w100 -t16 -si %TESTFILE%
כדי לבדוק את קצב הקלט/פלט (IOPS) של פעולות כתיבה, מבצעים פעולות כתיבה אקראיות באמצעות גודל בלוק של קלט/פלט של 4 KB ועומק קלט/פלט של 256 לפחות:
diskspd -d300 -b4K -o256 -Sh -w100 -r %TESTFILE%
כדי לבדוק את קצב העברת הנתונים לקריאה, מבצעים קריאות רציפות עם כמה זרמים מקבילים (16 או יותר), באמצעות גודל בלוק של קלט/פלט של 1 MB ועומק קלט/פלט של 64 לפחות:
diskspd -d300 -b1M -o64 -Sh -t16 -si %TESTFILE%
כדי לבדוק את קצב הקלט/פלט (IOPS) של קריאה, מבצעים קריאות אקראיות, באמצעות גודל בלוק קלט/פלט של 4 KB ועומק קלט/פלט של 256 לפחות:
diskspd -d300 -b4K -o256 -Sh -r %TESTFILE%
ניקוי:
del %TESTFILE%
השוואת ביצועים של אחסון מתמיד (persistent disk) גולמי
כדי למדוד את הביצועים של נפחי אחסון מתמיד (Persistent Disk) בלבד מחוץ לסביבת הפיתוח, צריך לבדוק את ביצועי הקריאה והכתיבה של מכשיר בלוקים (block device) בדיסק אחסון מתמיד ובמכונה וירטואלית חד-פעמיים.
מוסיפים דיסק אחסון מתמיד (persistent disk) למכונת ה-VM שרוצים להריץ עליה בדיקת ביצועים.
מאמתים את
DISKSPDהגדרת התוכנה ומשנים את הספרייה לבינארי 64-ביט:cd C:\DISKSPD\amd64
מוודאים שאין מחיצות לא שמורות בדיסק. מזינים את הפקודה
diskpartבחלון שורת פקודה עם הרשאות אדמין.diskpart
מציגים ברשימה את הדיסקים שמצורפים ל-VM:
DISKPART> list diskהפלט מציג את הדיסק החדש בנפח 1 TB, שהוא Disk 1 בפלט הדוגמה הבא:
Disk ### Status Size Free Dyn Gpt -------- ------------- ------- ------- --- --- Disk 0 Online 120 GB 1024 KB * Disk 1 Online 1024 GB 1023 GB *
בוחרים את הדיסק שרוצים להריץ עליו את הבדיקה.
DISKPART> select disk 1מציגים את המחיצות בדיסק שנבחר.
DISKPART> list partitionPartition ### Type Size Offset ------------- ---------------- -------- ------- Partition 1 Reserved 15 MB 17 KB Partition 2 Primary 1024 GB 16 MBבוחרים את המחיצה הראשית 2:
DISKPART> select partition 2מחיקת המחיצה שנבחרה:
DISKPART> delete partitionיציאה מ-diskpart
DISKPART> exit
אם בדיסק שרוצים לבצע בו השוואה יש מחיצות אחרות מלבד המחיצה השמורה, צריך לחזור על השלבים הקודמים. אם נשארה רק המחיצה השמורה, ממשיכים לשלבים הבאים:
אחרי שמזהים את הדיסק ומוודאים שאין בו מחיצות, מגדירים את משתנה הסביבה
TESTDRIVEלערך '#' ואחריו מספר הדיסק שרוצים לבדוק.C:/> set TESTDRIVE=#1כדי לבדוק את קצב העברת הנתונים לכתיבה, מבצעים כתיבות רציפות עם כמה זרמים מקבילים (16 או יותר), באמצעות גודל בלוק של קלט/פלט של 1 MB ועומק קלט/פלט של 64 לפחות:
diskspd -d300 -b1M -o64 -Sh -t16 -si -w0 %TESTDRIVE%
כדי לבדוק את קצב הקלט/פלט (IOPS) של פעולות כתיבה, מבצעים פעולות כתיבה אקראיות באמצעות גודל בלוק של קלט/פלט של 4 KB ועומק קלט/פלט של 256 לפחות:
diskspd -d300 -b4K -o256 -Sh -r -w0 %TESTDRIVE%
בדיקת זמן האחזור של פעולת הכתיבה. במהלך בדיקת זמן האחזור של קלט/פלט, ה-VM לא יכולה להגיע לרוחב הפס המקסימלי או ל-IOPS; אחרת, זמן האחזור שנמדד לא ישקף את זמן האחזור בפועל של קלט/פלט ב-Persistent Disk.
diskspd -d300 -b4K -o4 -Sh -r -w0 -L %TESTDRIVE%
כדי לבדוק את קצב העברת הנתונים לקריאה, מבצעים קריאות רציפות עם כמה זרמים מקבילים (16 או יותר), באמצעות גודל בלוק של קלט/פלט של 1 MB ועומק קלט/פלט של 64 לפחות:
diskspd -d300 -b1M -o64 -Sh -t16 -si %TESTDRIVE%
כדי לבדוק את קצב הקלט/פלט (IOPS) של קריאה, מבצעים קריאות אקראיות, באמצעות גודל בלוק קלט/פלט של 4 KB ועומק קלט/פלט של 256 לפחות:
diskspd -d300 -b4K -o256 -Sh -r %TESTDRIVE%
כדי לבדוק את זמן האחזור של הקריאה, חשוב למלא את הדיסק בנתונים כדי לקבל מדידה ריאלית של זמן האחזור. במהלך הבדיקה, ה-VM לא יכולה להגיע למגבלות של IOPS או של תפוקה, כי אחרי שה-Persistent Disk מגיע למגבלת הקיבולת שלו, הוא דוחה פעולות קלט/פלט נכנסות, והדבר משתקף כעלייה מלאכותית בחביון של הקלט/פלט.
diskspd -d300 -b4K -o4 -Sh -r -L %TESTDRIVE%
בדיקת רוחב הפס של קריאה רציפה.
diskspd -d300 -b1M -o64 -Sh -t4 -si %TESTDRIVE%
בדיקת רוחב הפס של כתיבה רציפה.
diskspd -d300 -b1M -o64 -Sh -t4 -si -w100 %TESTDRIVE%
מנקים את הדיסק של אחסון מתמיד (persistent disk) ואת מכונת ה-VM הזמניים:
- מוחקים את הדיסק שבו השתמשתם כדי להשוות את הביצועים.
- מחיקת המכונה הווירטואלית שנוצרה לצורך השוואת ביצועים.
המאמרים הבאים
- למד כיצד לעקוב אחר ביצועי הדיסק שלך על ידי סקירת מדדי ביצועים של דיסק אחסון מתמיד.
- למחירון של Persistent Disk
- איך משפרים את הביצועים של Persistent Disk