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

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

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

כברירת מחדל, ברוב תמונות ה-Linux שמסופקות על ידי Compute Engine מופעל באופן אוטומטי סקריפט אופטימיזציה שמגדיר את המכונה לביצועים מקסימליים של SSD מקומי. הסקריפט מאפשר הגדרות מסוימות של תור sysfs שמשפרות את הביצועים הכוללים של המכונה ומסתירות בקשות להפרעה (IRQs) למעבדים וירטואליים (vCPUs) ספציפיים. הסקריפט הזה מבצע אופטימיזציה של הביצועים רק למחיצות של 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 מופעלת ומוסיפים רשומה להגדרת 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. פותחים את קובץ ההגדרות של GRUB בכלי לעריכת טקסט./etc/default/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. פותחים את קובץ ההגדרות של GRUB בכלי לעריכת טקסט.sudo nano /etc/default/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
      

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