אופטימיזציה של הביצועים של אחסון SSD מקומי

התרשים של הביצועים לפי סוג הדיסק מתאר את הביצועים המקסימליים שאפשר להשיג עבור מחיצות SSD מקומיות. כדי לבצע אופטימיזציה של האפליקציות ומכונות ה-VM כדי להשיג את המהירויות האלה, אפשר להיעזר בשיטות המומלצות הבאות:

שימוש באופטימיזציות של סביבת אורח עבור מכשירי SSD מקומיים

כברירת מחדל, ברוב תמונות ה-Linux שמסופקות על ידי Compute Engine מופעל באופן אוטומטי סקריפט אופטימיזציה שמגדיר את המופע לביצועים מקסימליים של SSD מקומי. הסקריפט מאפשר להגדיר הגדרות מסוימות של התור sysfs, כדי לשפר את הביצועים הכוללים של המכונה ולהסתיר בקשות להפרעות (IRQs) ממעבדים וירטואליים (vCPU) ספציפיים. הסקריפט הזה מבצע אופטימיזציה של הביצועים רק עבור מחיצות SSD מקומיות ב-Compute Engine.

יכול להיות שתמונות של Ubuntu,‏ SLES ותמונות קודמות אחרות לא מוגדרות לכלול את האופטימיזציה הזו של הביצועים. אם אתם משתמשים באחת מהתמונות האלה או בתמונה מגרסה מוקדמת יותר מ-v20141218, אתם יכולים להתקין את סביבת האורח כדי להפעיל את האופטימיזציות האלה.

בחירת ממשק לחיבור של כונני ה-SSD המקומיים

אפשר לחבר כונני SSD מקומיים למכונות וירטואליות באמצעות ממשק NVMe או ממשק SCSI. הבחירה הטובה ביותר תלויה במערכת ההפעלה שבה אתם משתמשים. ברוב תצורות העומס שכוללות כונני SSD מקומיים, שימוש בממשק NVMe מוביל לביצועים טובים יותר.

  • אם אתם צריכים להשתמש במערכת הפעלה ספציפית, בוחרים ממשק למחיצות של ה-SSD המקומי שמתאים הכי טוב לקובץ האימג' של דיסק האתחול.

  • אם יש לכם הגדרה קיימת שדורשת שימוש בממשק SCSI, תוכלו להשתמש בתמונה שתומכת ב-multi-queue SCSI כדי לשפר את הביצועים בהשוואה לממשק SCSI רגיל.

הפעלת SCSI עם תורים מרובים

חלק מהתמונות הציבוריות תומכות ב-SCSI מרובה תורים. כדי להשתמש ב-SCSI עם תורים מרובים בתמונות מותאמות אישית שאתם מייבאים לפרויקט, אתם צריכים להפעיל אותו בעצמכם. תמונות Linux שיובאו יכולות להשתמש ב-SCSI עם תורים מרובים רק אם הן כוללות את גרסת הליבה 3.19 ואילך.

כדי להפעיל SCSI עם תורים מרובים בתמונה בהתאמה אישית, מייבאים את התמונה עם התכונה VIRTIO_SCSI_MULTIQUEUE guest OS enabled ומוסיפים רשומה להגדרות GRUB:

CentOS

ל-CentOS7 בלבד.

  1. מייבאים את התמונה המותאמת אישית באמצעות API וכוללים פריט guestOsFeatures עם ערך type של VIRTIO_SCSI_MULTIQUEUE.

  2. יוצרים מכונה באמצעות התמונה המותאמת אישית ומצרפים אליה כונני SSD מקומיים.

  3. מתחברים למכונה באמצעות SSH.

  4. בדיקת הערך של הקובץ /sys/module/scsi_mod/parameters/use_blk_mq

    $ cat /sys/module/scsi_mod/parameters/use_blk_mq
    

    אם הערך של הקובץ הזה הוא Y, אז SCSI מרובה תורים כבר מופעל בתמונה המיובאת. אם הערך של הקובץ הוא N, צריך לכלול את scsi_mod.use_blk_mq=Y ברשומה GRUB_CMDLINE_LINUX בקובץ התצורה של GRUB ולהפעיל מחדש את המערכת.

    1. פותחים את קובץ התצורה של /etc/default/grub GRUB בכלי לעריכת טקסט.

      $ sudo vi /etc/default/grub
      
    2. מוסיפים את scsi_mod.use_blk_mq=Y לרשומה GRUB_CMDLINE_LINUX.

      GRUB_CMDLINE_LINUX=" vconsole.keymap=us console=ttyS0,38400n8 vconsole.font=latarcyrheb-sun16 scsi_mod.use_blk_mq=Y"
      
    3. שומרים את קובץ התצורה.

    4. מריצים את הפקודה grub2-mkconfig כדי ליצור מחדש את קובץ ה-GRUB ולהשלים את ההגדרה.

      $ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
      
    5. מפעילים מחדש את המופע.

      $ sudo reboot
      

Ubuntu

  1. מייבאים את התמונה המותאמת אישית באמצעות Compute Engine API וכוללים פריט guestOsFeatures עם ערך type של VIRTIO_SCSI_MULTIQUEUE.

  2. יוצרים אינסטנס באמצעות התמונה המותאמת אישית ומצרפים אליו כונני SSD מקומיים באמצעות ממשק SCSI.

  3. מתחברים למכונה באמצעות SSH.

  4. בודקים את הערך של הקובץ /sys/module/scsi_mod/parameters/use_blk_mq.

    $ cat /sys/module/scsi_mod/parameters/use_blk_mq
    

    אם הערך של הקובץ הזה הוא Y, אז SCSI מרובה תורים כבר מופעל בתמונה המיובאת. אם הערך של הקובץ הוא N, צריך לכלול את scsi_mod.use_blk_mq=Y ברשומה GRUB_CMDLINE_LINUX בקובץ התצורה של GRUB ולהפעיל מחדש את המערכת.

    1. פותחים את קובץ התצורה של sudo nano /etc/default/grub GRUB בכלי לעריכת טקסט.

      $ sudo nano /etc/default/grub
      
    2. מוסיפים את scsi_mod.use_blk_mq=Y לרשומה GRUB_CMDLINE_LINUX.

      GRUB_CMDLINE_LINUX="scsi_mod.use_blk_mq=Y"
      
    3. שומרים את קובץ התצורה.

    4. מריצים את הפקודה update-grub כדי ליצור מחדש את קובץ ה-GRUB ולהשלים את ההגדרה.

      $ sudo update-grub
      
    5. מפעילים מחדש את המופע.

      $ sudo reboot
      

המאמרים הבאים