אחסון אתרים SSD או NVMe: מה ההבדל ומה מרגישים באתר
SSD או NVMe בחבילת אחסון: ההבדל בממשק ובמודל התורים, איפה דיסק מהיר משפיע על האתר ואיפה לא, ומה חשוב לבדוק בחבילה לפני תווית הדיסק.
האם זה משנה אם בחבילת האחסון כתוב SSD או NVMe? כן, אבל פחות ממה שנדמה מהשורה הזו במפרט. אחסון אתרים SSD מהיר בהרבה מאחסון על דיסק מכני, ו-NVMe מהיר עוד יותר כשהשרת מטפל בהרבה בקשות קריאה וכתיבה במקביל. באתר עצמו ההבדל מורגש בעיקר במסד הנתונים, בגיבויים ובשחזור, ופחות בתמונות, בתוספים ובסקריפטים חיצוניים.
המאמר מסביר מה ההבדל הטכני בין HDD, SSD בממשק SATA ו-NVMe, איפה מהירות הדיסק משפיעה על האתר ואיפה לא, ומה עוד בודקים בחבילה לפני שמשווים לפי תווית הדיסק. השוואה רחבה של כל סעיפי החבילה, ממחיר ועד תמיכה, יש במדריך איך להשוות חבילות אחסון אתרים בישראל.
שלושה סוגי דיסקים: HDD, SSD ב-SATA ו-NVMe
HDD, הדיסק המכני
דיסק קשיח מכני שומר מידע על פלטות מסתובבות, וראש קריאה זז מעליהן אל המקום הנכון. כל קריאה מתחילה בהמתנה לתנועה הזו. בנייר עמדה של ארגון SATA-IO, הגוף שמפתח את תקן SATA, ההשהיה הזו מתוארת כמגבלה שנובעת מהמדיה המסתובבת עצמה: הגעה למהירות ותזוזת הראש. כשאתר צריך לקרוא הרבה קבצים קטנים ממקומות שונים בדיסק, ההמתנות האלה מצטברות.
היום דיסקים מכניים נשארים בשימוש בעיקר לאחסון נפחים גדולים בעלות נמוכה, כמו ארכיון וגיבויים. בחבילות אחסון אתרים כמעט לא תראו אותם.
SSD בממשק SATA
SSD שומר מידע על זיכרון פלאש, בלי חלקים נעים, ולכן אין בו את ההמתנה לתנועת ראש. אבל רוב כונני ה-SSD הראשונים חוברו דרך SATA, אותו ממשק שתוכנן במקור לדיסקים מכניים.
שתי מגבלות של הממשק רלוונטיות כאן. הראשונה היא רוחב הפס: לפי SATA-IO, הקצב התאורטי המרבי של SATA 6Gb/s, הגרסה הנוכחית של התקן, הוא כ-600MB/s. זה גבול של הממשק, לא מהירות שכונן מסוים מגיע אליה בפועל. השנייה היא תור הפקודות: לפי ארגון NVM Express, התקני SATA תומכים בתור אחד של עד 32 פקודות.
NVMe
NVMe הוא ממשק שארגון NVM Express פיתח במיוחד לכונני SSD שמחוברים ישירות לאפיק PCI Express. הגרסה הראשונה של המפרט פורסמה ב-1 במרץ 2011. ההבדל המרכזי הוא מודל התורים: לפי הארגון, NVMe תומך בעד 64K תורים ועד 64K פקודות בכל תור, וכל ליבת מעבד או תהליך יכולים לעבוד מול תור משלהם בלי נעילות. הארגון מציין גם שעיבוד בקשת קריאה או כתיבה ב-NVMe דורש פחות ממחצית מפקודות המעבד שנדרשות ב-SATA או SAS.
לגבי רוחב פס, הארגון נותן דוגמה: חיבור PCI Express Gen3 ברוחב ארבעה נתיבים (x4) מספק 4GB/s. גם זה נתון של הממשק, והכונן עצמו יכול להיות איטי ממנו.
מה זה אומר בשרת אחסון? שרת אחסון אתרים משרת הרבה אתרים והרבה בקשות בבת אחת. תורים רבים ועמוקים מאפשרים לדיסק לטפל בבקשות במקביל במקום לסדר אותן בשורה אחת. על ההשפעה בשרת וירטואלי, כולל מה לבדוק כשבוחרים VPS, כתבנו במאמר ביצועי NVMe ו-SSD בשרת VPS.
השוואה בין שלושת סוגי הדיסקים
| HDD | SSD בממשק SATA | NVMe | |
|---|---|---|---|
| איפה נשמר המידע | פלטות מסתובבות | זיכרון פלאש | זיכרון פלאש |
| חלקים נעים | כן, פלטות וראש קריאה | אין | אין |
| ממשק | SATA או SAS | SATA | PCI Express |
| תור פקודות לפי NVM Express | ב-SATA: תור אחד, עד 32 פקודות. ב-SAS: עד 256 | תור אחד, עד 32 פקודות | עד 64K תורים, עד 64K פקודות בתור |
| גבול הממשק | תלוי בממשק | כ-600MB/s תאורטי ב-SATA 6Gb/s | תלוי בדור PCIe ובמספר הנתיבים, למשל 4GB/s ב-Gen3 x4 |
| איפה פוגשים אותו היום | ארכיון וגיבויים בנפח גדול | שרתים ומחשבים ותיקים יותר, אחסון זול | שרתים חדשים ואחסון ביצועים |
| מה מרגישים באתר | המתנה בכל פנייה לקבצים ולמסד הנתונים | מהיר בעומס רגיל | יתרון בעיקר בעומס מקבילי ובפעולות כבדות על הדיסק |
איפה מהירות הדיסק מורגשת באתר
הדיסק משפיע על כל פעולה שבה השרת צריך לקרוא או לכתוב מידע שלא נמצא כבר בזיכרון. באתר רגיל אלה המקומות העיקריים:
- שאילתות למסד הנתונים. MySQL שומר בזיכרון את הנתונים שנקראו לאחרונה, באזור שנקרא buffer pool, כדי שקריאות חוזרות לא יגיעו לדיסק. כשהמידע שמבקשים לא נמצא שם, למשל בחיפוש בחנות עם הרבה מוצרים או בדוח בממשק הניהול, הקריאה יורדת לדיסק.
- קריאת קובצי PHP. אתר וורדפרס טוען הרבה קבצים בכל בקשה. OPcache, רכיב מובנה ב-PHP, שומר את הקוד המהודר בזיכרון משותף וחוסך את הטעינה והפענוח בכל בקשה. כשהוא פעיל, הדיסק פחות מורגש. כשהוא כבוי או מתמלא, כל בקשה חוזרת לדיסק.
- גיבויים ושחזור. גיבוי קורא את כל הקבצים ואת כל מסד הנתונים. שחזור כותב את כולם מחדש. כאן ההבדל בין סוגי הדיסקים בולט, כי מדובר בהרבה מידע בבת אחת.
- כתיבה למטמון ולקובצי לוג. תוספי מטמון שומרים עמודים מוכנים, ובניית מטמון מחדש אחרי עדכון כותבת הרבה קבצים.
- עבודה בממשק הניהול. העלאת קבצים, עדכון תוספים ועריכת מוצרים בכמויות.
איפה הדיסק לא יעזור
הרבה אתרים איטיים מסיבות שאין להן קשר לדיסק. במקרים האלה מעבר מ-SSD ל-NVMe לא ישנה הרבה:
- המעבד מוגבל. בחבילות אחסון משותף יש מגבלת מעבד לכל חשבון. כשהאתר מגיע אליה, הבקשות מחכות למעבד, לא לדיסק.
- אין מספיק תהליכי PHP. מספר הבקשות ש-PHP מעבד במקביל מוגבל. כשמגיעים יותר גולשים, הם עומדים בתור.
- תוספים כבדים. תוסף שמריץ עשרות שאילתות בכל טעינת עמוד או פונה לשירות חיצוני יאט את האתר על כל דיסק.
- תמונות לא מכווצות וסקריפטים חיצוניים. הם נטענים בדפדפן של הגולש. הדיסק בשרת כבר סיים את עבודתו לפני שהם מתחילים לרדת.
- מרחק ורשת. שרת שנמצא רחוק מהגולשים מוסיף זמן לכל בקשה.
אם האתר שלכם בנוי על וורדפרס, במדריך למה אתר הוורדפרס שלי איטי יש רשימת בדיקות מסודרת לפי הסיבות הנפוצות.
איך בודקים אם הבעיה בצד השרת
בדיקת מהירות בדפדפן
הכלי בדיקת מהירות אתר באתר שלנו מריץ את Google PageSpeed Insights על הכתובת שתזינו, בגרסת מובייל או דסקטופ. מקבלים ציון בין 0 ל-100, מדדים כמו LCP, CLS, TBT, FCP ו-Speed Index, ורשימה של המלצות לשיפור. כשלגוגל יש מספיק נתונים מגולשים אמיתיים, מוצג גם הסיווג שלהם ל-LCP, CLS ו-INP.
איך קוראים את התוצאה בהקשר של הדיסק: אם רוב ההמלצות עוסקות בתמונות, בקובצי JavaScript ובגופנים, הבעיה בצד הדפדפן ודיסק מהיר יותר לא יפתור אותה. אם יש המלצה לקצר את זמן התגובה הראשוני של השרת, שווה לבדוק את השרת.
מדידת זמן תגובה משורת הפקודה
הפקודה הבאה מודדת כמה זמן עבר עד שהגיע הבייט הראשון מהשרת. החליפו את הדומיין בכתובת האתר שלכם:
curl --proto-default https -o /dev/null -s \
-w "DNS: %{time_namelookup}s\nTCP: %{time_connect}s\nTLS: %{time_appconnect}s\nFirst byte: %{time_starttransfer}s\nTotal: %{time_total}s\n" \
www.example.co.il
לפי התיעוד של curl, time_starttransfer הוא הזמן מתחילת הבקשה ועד שהתקבל הבייט הראשון. הפעילו את הפקודה כמה פעמים, על דף הבית ועל עמוד שלא נמצא במטמון, כמו תוצאת חיפוש. אם הבייט הראשון מגיע מהר בדף הבית ולאט בעמוד החיפוש, החשודים הם מסד הנתונים והתוספים. אם הכול איטי באותה מידה, בדקו את מגבלות המעבד והזיכרון של החבילה.
מה חשוב יותר מתווית הדיסק בחבילה
כשמשווים חבילות אחסון, סוג הדיסק הוא שורה אחת מתוך כמה. אלה השאלות שכדאי לשאול לפניו:
- מגבלות מעבד וזיכרון. כמה משאבים מוקצים לחשבון, ומה קורה כשהאתר מגיע לגבול.
- תהליכים במקביל. כמה בקשות PHP החשבון יכול לעבד באותו רגע.
- גרסת PHP. אילו גרסאות זמינות, והאם אפשר להחליף גרסה לבד.
- מטמון בצד השרת. האם יש מטמון עמודים מובנה, ואיך מנקים אותו.
- מגבלת קבצים (inodes). יש ספקים שמגבילים את מספר הקבצים בחשבון, גם כשנשאר שטח פנוי.
- גיבויים. באיזו תדירות, כמה גרסאות נשמרות, האם הגיבוי נשמר על אחסון נפרד, ואיך משחזרים.
- מיקום השרתים. לגולשים בישראל, שרת בישראל מקצר את הדרך של כל בקשה.
- אפשרות שדרוג. לאן עוברים כשהאתר גדל, והאם המעבר דורש הקמה מחדש.
איך קוראים את שורת הדיסק במפרט
- "SSD" בלי פירוט יכול להיות SSD בממשק SATA או כונן NVMe. אם זה חשוב לכם, שאלו.
- "NVMe" אומר משהו על הממשק של הכונן, לא על כמה משאבים החשבון שלכם מקבל ממנו. בשרת משותף הדיסק מתחלק בין הרבה אתרים.
- שטח אחסון גדול לא עוזר אם מגבלת הקבצים נמוכה. אתר וורדפרס עם תוספים, מטמון וגיבויים מקומיים מייצר הרבה קבצים קטנים.
- "ללא הגבלה" כמעט תמיד כפוף למדיניות שימוש הוגן. בקשו את המדיניות בכתב.
- אם בעמוד החבילה לא מופיעות מגבלות מעבד, זיכרון או קבצים, שאלו את הספק לפני ההזמנה.
מה כתוב אצלנו על הדיסקים והחבילות
בעמוד חבילות אחסון האתרים של אמפייר אייאל כתוב שכל חבילה כוללת שטח אחסון על דיסק מהיר, תעבורה חודשית ללא הגבלה, תעודת SSL אוטומטית, הגנת DDoS, גיבויים חכמים יומיים ופאנל ניהול מלא. האתרים רצים על שרת LiteSpeed עם מטמון LSCache, והתשתית נמצאת בחוות שרתים בישראל, בראש העין ובפתח תקווה. בכרטיס של כל חבילה מופיעים שטח האחסון, מספר הדומיינים ומספר תיבות הדוא"ל.
בעמוד אחסון וורדפרס כתוב שהאחסון לאתרי וורדפרס כולל שרתי NVMe, התקנת WordPress בלחיצה, SSL, גיבוי יומי ותמיכה בעברית. אם אתם צריכים פרט שלא מופיע בעמוד החבילה, כמו מגבלות משאבים, שאלו את התמיכה לפני ההזמנה.
שאלות נפוצות
האם NVMe תמיד מהיר יותר מ-SSD?
NVMe הוא סוג של SSD, עם ממשק אחר. ברוב השרתים החדשים הוא מהיר יותר מ-SSD בממשק SATA, בעיקר כשיש הרבה בקשות במקביל. אבל כונן NVMe איטי יכול להיות פחות טוב מכונן SATA טוב, ושרת עמוס יכול להאט כל דיסק.
האם אתר קטן ירגיש את ההבדל בין SSD ל-NVMe?
אתר תדמית עם כמה עשרות עמודים ומטמון פעיל כמעט לא ירגיש. חנות עם הרבה מוצרים, חיפוש פנימי ועבודה שוטפת בממשק הניהול תרגיש יותר, וכך גם גיבוי ושחזור של אתר גדול.
איך יודעים איזה דיסק יש בחבילה שלי?
באחסון משותף אין לכם גישה לחומרה, ולכן הדרך המעשית היא לשאול את הספק. בשרת וירטואלי הדיסק שמערכת ההפעלה רואה הוא דיסק וירטואלי, וגם שם המידע על הכונן הפיזי מגיע מהספק.
כדאי לעבור ספק רק בגלל סוג הדיסק?
רק אם בדקתם שהדיסק הוא צוואר הבקבוק. מדדו קודם את זמן התגובה של השרת ואת ההמלצות בבדיקת המהירות. אם הבעיה בתמונות, בתוספים או במגבלת המעבד, מעבר לחבילה עם NVMe לא יפתור אותה.
מה עדיף, יותר שטח אחסון או דיסק מהיר יותר?
תלוי באתר. רוב האתרים משתמשים בחלק קטן מהשטח שבחבילה, ולכן לרובם משאבי מעבד, זיכרון ומטמון חשובים יותר. אתר עם הרבה קבצים או גיבויים מקומיים צריך גם שטח וגם מגבלת קבצים מספקת.
בוחרים חבילת אחסון לאתר?
בעמוד מחירון אחסון האתרים מופיעות כל החבילות של אמפייר אייאל, עם שטח האחסון, הדומיינים ותיבות הדוא"ל של כל אחת. החבילות כוללות שרתים בישראל, גיבוי יומי ומטמון LSCache. אם אתם לא בטוחים איזו חבילה מתאימה לעומס של האתר שלכם, פנו לתמיכה ונעזור לבחור לפי מה שהאתר צריך.
רוצים עדכונים חדשים?
נשלח לכם עדכון כשיעלו מאמרים ומדריכים חדשים. בלי ספאם, ואפשר להסיר את ההרשמה בכל עת.
בהרשמה אני מאשר/ת לאמפייר אייאל לשלוח לי בדוא״ל עדכונים על מאמרים חדשים, מדריכים וחדשות השירות. ניתן להסיר את ההרשמה בכל עת. מדיניות הפרטיות
