"אם אתר מסחר אלקטרוני מרוויח $100,000 ליום – עיכוב של שנייה אחת בזמן טעינת הדף, עשוי לעלות 2.5 מיליון דולר במכירות שיאבדו מדי שנה". – KissMetrix
לצד היתרונות העצומים של מערכת מג'נטו המופלאה (ואם רציתם לקרוא עליהם, הגעתם לכתבה הלא נכונה:), מנהלי האתרים מתמודדים עם בעיה קשה ונפוצה שהיא יוצרת: מהירות. או ביתר דיוק, חוסר מהירות. מג'נטו היא מערכת כבדה הכוללת פיצ'רים רבים- מה שהופך אותה לאיטית מאד ללא טיפול נכון. לכן, החלטנו לצאת בסדרת כתבות חדשה שתעזור לכם לשנות את המצב:
איך לשפר את מהירות המג'נטו שלכם בפעולות מוגדרות ויחסית פשוטות?
במאמר הקרוב, הראשון בסדרה, נסקור עבורכם פתרונות שיהיו יחסית פשוטים עבורכם. מה שהופך אותם או אחרים לכאלו שמתאימים למתחילים או למתקדמים, הוא התלות שלכם במתכנת וההבנה שלכם במה שיכול להיראות סינית ומאיים. בואו נתחיל!
אחסון תומך ואיכותי
1. בחירת חברת אחסון איכותית
לפני שצוללים ומתחילים בתהליכי בדיקה והאצת האתר, מומלץ לוודא שהאתר שלכם מאוחסן בחברת אחסון טובה. הדבר משפיע משמעותית על ביצועי האתר ועשוי להתגלות כאחת מההחלטות המשפיעות ביותר על מהירות האתר ושיפור הביצועים שלו לאורך זמן.
מעבר להיותה של החברה גדולה ואיכותית העומדת בתקני אבטחה גבוהים, חשוב לשים לב למפרט השרת עצמו.
- מומלץ לשמור מרחק מאחסון שיתופי (בעיקר אם מדובר בחנות גדולה שצורכת משאבים רבים). ספק אירוח שיתופי מציע לרוב תנאים סטנדרטיים, ומאחסן את האתר שלכם בצפיפות לצד אתרים נוספים. לעומת זאת, שרתי VPS (שרתים פרטיים) מאפשרים מרחב גדול יותר, נפח אחסון גדול יותר, ושליטה מלאה על המשאבים שלכם.
- מומלץ להקים שרת ייעודי לכל סביבת פיתוח: סביבת test וסביבת live.
- מומלץ להתאים את חבילת השרת (זיכרון RAM, מספר הליבות, מקום האחסון, תעבורה ועוד) לנתוני האתר שלכם, על סמך נתונים סטטיסטיים שידועים לכם.
- כמובן, חשוב לשים לב שיש לכם שירות גיבויים, כאשר העדיפות היא לשירות גיבוי חיצוני.
- מומלץ לוודא שמי שנותן לכם תמיכה הם אנשי IT ולא מפתחים מתחומים אחרים.
- במקביל, חשוב לדאוג לתעודת SSL עבור האתר שתציג ללקוחות גלישה בטוחה.
2. שרת CDN
אחת הדרכים הפשוטות להאיץ את חנות המג'נטו שלכם, היא לחבר אותה לשרת CDN, או בעברית יפה: רשת אספקת תוכן (Content Delivery Network). מה היא ואיך היא תעזור לכם?
לאלו מכם שלא יודעים, בכל כניסה לאתר שלכם מתבצעת פנייה לשרת בכדי להעלות את האתר. אם השרת שלכם נמצא בישראל, לאתר שלכם יקח זמן רב יחסית לעלות עבור לקוח מחיפה לעומת לקוח מפתח תקווה, שלא נדבר על לקוחות מאירופה או ארה"ב.
שרת ה-CDN יוצר שכפול של קבצים באתר שלכם (תמונות, CSS, קבצי JavaScript) ומאחסן אותם במספר שרתים המפוזרים ברחבי העולם. בזמן כניסה של גולש לאתר, השרת יזהה את המיקום הגאוגרפי שלו ויעלה את התכנים מהשרת הקרוב אליו ביותר. בצורה זו, בה אנו מפחיתים את הפניות החוזרות לשרת הראשי של האתר- אנו מורידים ממנו עומס מחד, ומספקים מענה מהיר יותר לגולשי האתר מאידך, ע"י הצגת עותק של קבצי האתר מהשרת שקרוב אליהם גיאוגרפית.
מטרתו של שרת CDN היא לשפר את חוויית המשתמשים, ולצד זה לשפר את דירוג האתר בגוגל. הוא מקטין את זמני הטעינה של הדף, על ידי טעינת האלמנטים בו מהמיקום הפיזי הקרוב ביותר לגולש. למזלנו, לאחר רכישת שרת כזה- ההגדרה במערכות מג'נטו 1 ומג'נטו 2 פשוטה יחסית.
3. הגדרת cache ברמת השרת
זיכרון מטמון (cache) שומר עותק של האתר שלכם ומציג אותו לגולש אשר נכנס לאתר, ללא בקשה חוזרת ומלאה של המידע כולו מהשרת בכל כניסה מחדש. בכך, הוא מאפשר שליפה מהירה של עותק האתר שלכם ומציג לגולש חווית גלישה מהירה יותר.
בכתבות הבאות נעסוק בסוגי קאש שונים שתוכלו להגדיר כדי להאיץ את האתר שלכם. לכתבה זו, נסתפק בהסבר קצר על סוגי קאש שמגדירים ברמת השרת (וידרשו מכם גם מעט עבודה גם במערכת הניהול עצמה), אשר פועלים על חלקים שונים של האתר. מומלץ לוודא מול חברת השרתים שהם אכן מוגדרים לכם בשרת.
- Redis
בסיס נתונים מסוג NoSQL הפועל בזיכרון (In-Memory) ומבוסס קוד פתוח. הוא מאפשר שליפת נתונים באופן מהיר ביותר מתוך מאגרי מידע ענקיים. - MemCached
מערכת זיכרון מטמון חינמית מבוססת קוד פתוח, שמטרתה להאיץ אתרי אינטרנט מבוססי מידע דינאמי (ecommerce לדוגמה), ע"י יצירת קאש למידע והפחתת מספר הפעמים שבהם יצטרך השרת לקרוא אותו שוב ממקור חיצוני (כמו דאטה-בייס או API). - Varnish
מאיץ HTTP המיועד לאתרי תוכן דינאמיים וכבדים ולממשקי API. בניגוד למאיצי אתרים אחרים שהתחילו את חייהם כתוכנות זיכרון מטמון בצד הלקוח, Varnish מתמקד אך ורק ב-HTTP ולא כמו שרתי פרוקסי אחרים שתומכים לעיתים קרובות ב-FTP, SMTP ופרוטוקולי רשת אחרים.
גרסת מג'נטו מעודכנת
נושא נוסף וחשוב במהירות האתר שלכם, היא גרסת המג'נטו. מומלץ לעדכן את החנות שלכם לגרסה העדכנית ביותר מיד כשהיא זמינה. שימו לב שלפני עדכון הגרסה אתם מבצעים גיבוי של האתר- למקרים של אי התאמות עם תוספים שמותקנים באתר שלכם.
באופן כללי, Magento מודיעה למשתמשים על כל עדכון קריטי שהופך לזמין. לרוב ההודעות הללו יופיע במערכת הניהול בקטגוריית "מערכת" => "התראות" (או במערכת באנגלית, system=> Notifications).
ככה זה נראה:
הגרסה העדכנית של Magento מכילה בדרך כלל תיקוני באגים, תיקוני אבטחה ושיפורים בביצועים, ולכן כדאי לדאוג להתקין אותה. תהליך שדרוג חנות המג'נטו כרוך בקצת עבודה, וייתכן שתצטרכו עזרה טכנית במידה ואינכם מכירים אותה לעומק.
הנה השלבים העיקריים לשדרוג גרסת Magento בצורה נכונה:
- שלב ההכנות
- בדיקת ההערות של הגרסה העדכנית של מג'נטו במטרה להבין מה תוקן, מה שונה, ומה נמצא לפנינו.
- גיבוי של הגרסה הנוכחית של האתר (כולל מסד הנתונים כמובן), למקרה שמשהו ישתבש.
- בחירת זמן נכון לביצוע העדכון. מומלץ לעשות את זה בזמנים בהם אין תנועה רבה באתר כדי למנוע תקלות, אבידות, בלבול ונטישה של משתמשים.
- שלב הביצוע
בשלב זה תוכלו לבחור בין עדכון הגרסה במערכת הניהול לבין עדכון ע"י מתכנת ב command-line (או לא בסינית: ישירות בקוד:).
להסבר מלא של מג'נטו עבור עדכון גרסה במערכת הניהול של Magento 2 תוכלו לחצו כאן >
כדי שהראש שלכם ישאר במקום, נחליט לסיים פה את הכתבה הנוכחית. בכתבות הבאות שיעסקו בשיפור מהירות אתר המג'נטו שלכם נעלה הילוך, ונתייחס גם לפתרונות ממוקדים ומקצועיים יותר, שידרשו מכם להיעזר במתכנת. ועד שנעלה אותם לבלוג, אנחנו מצפים שכבר תהיו אחרי בדיקה ויישום של ארבעת הטיפים עליהם פירטנו בכתבה הזו 🙂