אם אתם בעלים של אתר וורדפרס, אל תמשיכו הלאה לפני שתקראו את הפוסט הזה, כי בכמה דקות הוא יעשה לכם סדר בנושא האחסון אחת ולתמיד.
שרת האחסון נמצא מאחורי הקלעים של האתר, ורוב בעלי האתרים נוטים לזלזל בו. המחיר הוא תקלות ביצועים רבות, וחוויית שימוש גרועה במיוחד בממשק הניהול, כשכל פעולה אורכת זמן רב שיורד לטמיון.
הפוסט הוא ידע מזוקק ומרוכז של ניסיון אישי רב שצברתי בתחום ההקמה והניהול של שרתי אחסון, ושום צ'טבוט של בינה מלאכותית לא יציע לכם אותו.
חלק 1 מכיל סקירה טכנית על שכבות האחסון השונות.
חלק 2 מסביר בקיצור את הסיבות לכך שהאחסון שאתם מקבלים מחברות האחסון הנפוצות גרוע כל כך, גם כשאתם משלמים היטב.
חלק 3 מכיל מסקנות קצרות ליישום.
1. שכבות האחסון
שרת האחסון בנוי משכבות רבות. נסקור אותן בקיצור:
1.1. חומרה פיזית –
כמו כל מחשב, גם השרת שמאחסן את האתר שלכם בנוי מרכיבי חומרה כמו מעבד, זיכרון ראם ודיסק קשיח. כמו כל מחשב, ככל שהרכיבים האלו מהירים וחדשניים יותר, רמת הביצועים עולה.
לחומרה עליה האתר מאוחסן יש חשיבות מכרעת לרמת הביצועים. תוכלו לשלם על שרת פיזי משלכם בחברת השרתים, או בשרת וירטואלי, בו למעשה החומרה שאתם מקבלים היא “פרוסה” וירטואלית משרת גדול במיוחד עם משאבים רבים.
גם אם אתם משלמים על שרת וירטואלי, תוכלו לבחור בין שרת וירטואלי פרטי (VPS) בו יש לכם משאבי חומרה קבועים משלכם, לבין שרת וירטואלי משותף, בו בזמן שהאתר שלכם לא משתמש במלוא המשאבים הם עוברים לשימושם של אתרים אחרים על גבי השרת.
במה לבחור?
למרות שלשרת לא וירטואלי פרטי (נקרא גם Bare Metal) יש יתרונות מבחינת ביצועים, הוא סובל מחסרונות מבחינת עלות השרת, עלות הרישיון של פלטפורמת הניהול, וכל שינוי במשאבי החומרה דורש יותר זמן ועלויות משום שמדובר בשינוי פיזי שטכנאי בחברה מבצע עבורכם.
שרת וירטואלי משותף אינו מומלץ, משום שהוא מספק ביצועים נמוכים בהשוואה לVPS. האופציה הטובה והמשתלמת ביותר ברוב המקרים תהיה שרת VPS.
חשוב לוודא את המפרט הטכני המלא ולא להסתפק בתיאור כללי כגון “8 ליבות מעבד”. הנתונים המשמעותיים ביותר בעיניי הם דגם המעבד ומהירות השעון שלו, ורוחב הפס של החיבור לאינטרנט. נתון משמעותי אחר הוא סוג האחסון, כשSSD יספק ביצועים גבוהים יותר בהשוואה לדיסק קשיח רגיל (למרות זאת – מניסיון אני יכול לומר כי גם דיסקים קשיחים רגילים עושים את העבודה ברוב ככל המקרים, בשונה ממחשבים ביתיים).
חשוב לוודא כי אין מגבלות היוצרות צווארי בקבוק כגון הגבלה של הi/o של השרת, או של קצב העברת המידע בין הדיסק הקשיח לזיכרון הראם. שצווארי בקבוק אלו הופכים את השרת לגרוע במיוחד גם אם הוא מרובה משאבים.
Photo by Olivier Collet on Unsplash
1.2. מערכת הפעלה –
כמו כל מחשב, גם השרת זקוק למערכת הפעלה על מנת לתפקד. במחשב שלכם זה ווינדוס או macOS, בשרת לאחסון אתרי וורדפרס זה יהיה לינוקס.
למערכת ההפעלה לינוקס ישנם גרסאות רבות. ההמלצה שלי היא להשתמש בהפצה בשם Alma Linux 9 שנחשבת לעדכנית ומתאימה למשימה.
חשוב לדעת כי בבסיס למערכת ההפעלה אין בהכרח “שולחן עבודה” גרפי כמו שאנו מכירים מהמחשב, וביצוע פעולות ללא ממשק גרפי נעשה דרך שורת הפקודה. ניתן להתקין ממשק גרפי מסוגים שונים בהתאם לצורך, אולם הממשק משמש רק כ”מגשר” שמקל עלינו את השימוש במערכת ההפעלה. ניהול שרתי אחסון נעשה פעמים רבות ישירות דרך שורת הפקודה באמצעות חיבור SSH.
- 3. Web Server –
שרת הוא למעשה כל מחשב שעבר התאמות נדרשות (מבחינת תוכנה בעיקר) על מנת לשתף מידע ברשת. על גבי השרת מותקנת תוכנה שתפקידה לנהל את ההיבטים הטכניים המאפשרים לה לקבל בקשות מהאינטרנט ולהחזיר אליהן תשובות.
תוכנות הweb server הפופולריות הן Nginx, Apache, Lightspeed ועוד. אפאצ'י נחשבת ליציבה יותר אך צורכת משאבים גדולים יותר, בעוד Nginx וLightspeed נחשבות לזריזות יותר ויציבות פחות.
הבנה מלאה של ההבדלים היא נושא ארוך ומעניין, לפעם אחרת.
1.4. פלטפורמה לניהול אתרים –
על מנת לאחסן כמות גדולה של משתמשים ואתרי אינטרנט על גבי שרת יחיד, יש צורך בפלטפורמת ניהול שתגדיר ותנהל את המשתמשים השונים, את משאבי החומרה שיש לכל אחד מהם, ועוד היבטים רבים הנוגעים לאחסון.
הפלטפורמות הנפוצות הן WHM, Plesk, CyberPanel ועוד. נסקור אותן בקיצור:
WHM – מבוססת על אפאצ'י. היא היקרה ביותר ובעלת הביצועים הנמוכים ביותר. בכל זאת אני ממליץ עליה בחום עבור מי שיציבות ואבטחה חשובים לו. WHM היא פלטפורמה עמוסה בפיצ'רים שימושיים ומאובטחת במיוחד, ולא נתקלתי בה בבאגים או בעיות יוצאות דופן.
עלות הרישיון היא חודשית, ומחיר הרישיון עולה בהתאם למספר חשבונות המשתמשים על גבי הפלטפורמה. ניתן לרכוש רישיון למשתמש יחיד, 5, 30 או 100 משתמשים. סוג רישיון נוסף מיועד לבעלי שרת פיזי עצמאי ולא וירטואלי (Bare Metal) והוא יקר יותר מהרישיון הרגיל.
Plesk – נחשבת לאלטרנטיבה זולה יותר מWHM ועם יכולות דמות. למרות זאת WHM נחשבת לפופולרית יותר. היתרון של Plesk הוא שניתן להשתמש בה גם על שרתי ווינדוס, בעוד WHM מיועדת רק ללינוקס. בנוסף Plesk תומכת גם בNginx, מה שמאפשר לה לספק ביצועים גבוהים יותר מהתבססות על אפאצ'י.
בPlesk השתמשתי בעבר במשך מספר חודשים, והיא זכורה לי כפלטפורמה נחמדה ונוחה לשימוש.
CyberPanel – היא החביבה עלי ביותר עבור אתרי וורדפרס. למרות כי יש בה חסרונות רבים כגון ממשק לא נוח, חסרון פיצ'רים, באגים ושגיאות, היא עדיין מספקת את הביצועים הטובים ביותר.
הסיבה לכך היא כי היא מבוססת על שרת Lightspeed עם ניהול מטמון מתקדם, וכן מציעה מערכת “רזה” יותר בפיצ'רים בהשוואה לWHM.
ניתן להשתמש בCyberPanel בחינם לחלוטין, או לשלם סכום נמוך על מנת לקבל גישה לפיצ'רים שאינם זמינים בחינם.
ישנן פלטפורמות רבות אחרות, בעיניי הן אינן מהוות אלטרנטיבה של ממש לWHM או CyberPanel.
1.5. חשבון משתמש –
על גבי פלטפורמת ניהול האתרים, יש להקים לכל משתמש חשבון. אם אתם רוכשים אחסון זול מחברת אחסון כלשהי, חברת האחסון משלמת על פלטפורמת הניהול, ועל גבי הפלטפורמה היא תקים עבורכם חשבון משתמש בו יוגדרו המשאבים שהוקצו לכם.
לצורך העניין, חברת האחסון תקצה עבורכם 2 ליבות מעבד וירטואליות, 4 ג'יגה זכרון ראם ו40 ג'יגה אחסון. היא תגביל גם את מספר האתרים שביכולתכם לאחסן על גבי החשבון ואת מספר תיבות המייל שתוכלו להקים בשרת.
לכל משתמש יש ממשק ניהול דרכו הוא יכול לנהל את החשבון שלו על גבי פלטפורמת הניהול הכוללת. ממשק הניהול המפורסם ביותר הוא cPanel, כשcPanel הוא למעשה ממשק ניהול המשתמשים של WHM. (WHM = פלטפורמה לניהול חשבונות cPanel).
גם למשתמשי Cyberpanel יש ממשק ניהול ברמת המשתמש, ודוגמה נוספת היא חברת האחסון הוסטינגר שפיתחה ממשק ניהול בשם Hpanel.
1.6. חברות אחסון –
ישנם סוגים רבים של חברות אחסון, וחשוב להבין את ההבדלים ביניהם.
IaaS – (Infrastructure as a Service) חברות אלו מתמקדות במכירה של התשתית הפיזית של השרת, ולא בניהול שלו. ניתן לחלק קטגוריה זו לשניים. ישנן חברות רבות שמוכרות שרת בלבד עם אפשרויות ניהול בסיסיות במיוחד. חברות אלו יציעו בדרך כלל מחיר נמוך, והן יפרטו במידה רבה את כל הנתונים הפיזיים של השרת שתקבלו (דגם המעבד, מהירות החיבור לרשת, סוג הדיסק קשיח ועוד).
חברות אחרות מוכרות תשתיות ענן עם ממשקים גרפיים מורכבים ויכולות רבות. הגדולות בתחום הן אמזון, מייקרוסופט, גוגל ואורקל (את שירות הענן של אמזון אתם מכירים כAWS).
PaaS – (Platform as a Service) חברות אלו הן חברות האחסון הקלאסיות שאנו מכירים כגון הוסטינגר, יופרס ועוד אינסוף אחרות. חברות אלו למעשה משלמות עבור אחסון ופלטפורמת ניהול כגון WHM, ומוכרות חבילות שימוש על גבי השרתים הללו.
חשוב להבין כי חברות הPaaS הרבות, מתבססות בדרך כלל על שרתי אחסון חיצוניים כגון AWS. גם אם לא רכשתם תשתית פיזית מAWS, רוב הסיכויים כי חברת האחסון שלכם היא זאת שרכשה מAWS את האחסון עבורכם.
2. למה אתם משלמים הרבה ומקבלים מעט?
במהלך השנים התנסיתי בחברות אחסון רבות ושונות. אני מנהל אתר סחר מורכב ובו אלפי מוצרים ומערכת סנכרון מסובכת, והביצועים שקיבלתי היו נמוכים כל כך עד שכמעט ולא יכולתי לנהל אותו.
בדקתי את הנושא לעומק בשביל להבין למה האחסון שאנו רוכשים כל כך גרוע תמיד, והנה המסקנות:
- למרות ההבטחה ל”12 ליבות מעבד” ו”16 ג'יגה ראם” ועוד ועוד, אין שום פירוט לגבי רכיבי החומרה עצמם כגון הדגם או מהירות השעון שלהם. 12 ליבות הן לא בהכרח הרבה אם מדובר במעבד חלש במיוחד, לצורך העניין.
- חברות האחסון חונקות את קצב העברת הנתונים בין זיכרון הראם למעבד. המשמעות היא כי גם אם רכיבים אלו מהירים יחסית, המידע ביניהם זורם לאט כל כך שהם הופכים לחסרי משמעות. בחברה שנכנה בשם “החברה הסגולה” תקבלו קצב העברת נתונים של 200-400 קילובייט לשנייה, כשמדובר בשבריר של שבריר מקצב העברת הנתונים במחשב הגרוע ביותר שפגשתם.
- חברות האחסון חונקות את מספר הפקודות שיכולות להתקבל בשרת בשנייה, מה שנקרא בשפה המקצועית i/o (input, output). במקרה שלי, מערכת ניהול המוצרים הייתה שולחת כמו גדולה של הוראות שינוי לאלפי המוצרים, אך השרת היה מקבל אותן בקצב נמוך במיוחד מה שגרם למערכת כמעט ולא לתפקד. באותה “חברה סגולה” הוגדר גם כן לימיט נמוך עד כדי גיחוך של מספר הפקודות לשנייה, מה שגרם לשרת לא לתפקד כראוי.
- חברות האחסון אינן מתחייבות על מהירות חיבור לרשת. חשוב לזכור כי השרת הוא בסופו של דבר מחשב עם כרטיס רשת שמחובר לאינטרנט. אם כרטיס הרשת משותף לעוד מאות או אלפי לקוחות של החברה, ייתכן ורוחב הפס שאתם מקבלים נמוך משמעותית ממה שאתם זקוקים לו.
3. אז מה לעשות? – מסקנות
קודם כל, להבין את הנושא.
הבנה של התשתית תעזור לכם להימנע מטעויות כמו “שמעתי שAWS הכי טוב”, כי תבינו שחברות אחסון רבות יעניקו לכם אחסון בAWS. אחסון עצמאי בAWS יניב כנראה ביצועים נמוכים והרבה כאב ראש והוצאות, כי אין לכם באמת מושג איך לנהל אותו (תאמינו לי, הייתי שם).
דבר שני – תשקיעו בתשתית פעם אחת כמו שצריך, ולא תצטרכו לחשוב עליה שוב אף פעם. אם תעשו חצי עבודה, כנראה שתצטרכו לבצע את אותה חצי עבודה שוב ושוב מדי שנה או שנתיים עקב תקלות שונות.
דבר שלישי – הנה על מגש של כסף כל המסקנות מהמסע האישי שלי בתחום:
אני משתמש במערך של שרתים רבים מחברת תשתית זולה.
מכיוון שהחברה מספקת תשתית בלבד, אני מקבל את מלוא הנתונים הטכניים על מנת לבחור שרת חזק מספיק, בשילוב עם עלויות נמוכות ביחס לתשתית ענן מתקדמת ומסובכת כמו AWS.
חלק מהשרתים משמשים לאירוח של Web apps, והם מבוססים על Ubuntu עם שולחן עבודה גרפי.
שרתי אירוח האתרים מארחים נכון להיום 13 אתרי אינטרנט ומספקים ביצועים יוצאים מן הכלל בעלות אפקטיבית במיוחד.
הם מבוססים על הפצת לינוקס Alma Linux 9, על גביה מותקנת פלטפורמת אחסון אתרים Cyberpanel עבור אתרים בהם רמת הביצועים חשובה במיוחד. חלקם מבוססים על WHM על מנת לקבל יציבות ואבטחה משופרים, תוך התפשרות על רמת הביצועים (שעדיין טובים מאוד).
החומרה הפיזית משתנה בהתאם למספר האתרים ומורכבותם שמאוחסנים על גבי השרת, אולם העיקרון הפשוט בVPS הוא שאפשר להתחיל ממשאבי חומרה נמוכים, לבחון את רמת הביצועים, ובמידת הצורך להוסיף משאבים בלחיצת כפתור עד לקבלת האיזון המיטבי בין עלות לתמורה.
מילה לסיום:
בחרתי להתמקד בתשתית השרת.
חשוב לזכור שברמת אתר האינטרנט עצמו נדרשת עבודה נוספת על מנת להגיע לטופ שבטופ מבחינת ביצועים, אכתוב על כך בהזדמנות אחרת.
בכל זאת חשוב לזכור כי שרת האחסון הוא צוואר הבקבוק הנפוץ והמשמעותי ביותר. אם שרת האחסון טוב – האתר יתפקד היטב גם אם ברמת האתר הוא אינו מוגדר באופן אופטימלי. לעומת זאת אם שרת האחסון גרוע, שום דבר לא יעזור.