בקטע 'הזדמנויות' בדוח Lighthouse מדווח על זמן התגובה של השרת – הזמן שעובר עד שהדפדפן של המשתמש מקבל את הבייט הראשון של תוכן הדף, לאחר שליחת הבקשה:
זמני תגובה איטיים של השרת משפיעים על הביצועים
הביקורת הזו נכשלת כשהדפדפן ממתין יותר מ-600 אלפיות השנייה עד שהשרת מגיב לבקשה הראשית של המסמך. המשתמשים לא אוהבים כשטעינת הדפים נמשכת הרבה זמן. אחד מהגורמים האפשריים לטעינת דפים ארוכים הוא זמני תגובה איטיים של השרת.
כשמשתמשים עוברים לכתובת URL בדפדפן האינטרנט שלהם, הדפדפן שולח בקשת רשת לאחזור התוכן. השרת מקבל את הבקשה ומחזיר את תוכן הדף.
ייתכן שהשרת יצטרך להשקיע מאמצים רבים כדי להחזיר דף עם כל התוכן שמעניין את המשתמשים. לדוגמה, אם משתמשים מסתכלים על היסטוריית ההזמנות שלהם, השרת צריך לאחזר את ההיסטוריה של כל משתמש ממסד נתונים, ולאחר מכן להוסיף תוכן זה לדף. אופטימיזציה של השרת כדי לבצע פעולה זו במהירות האפשרית היא דרך אחת לקצר את הזמן שבו משתמשים ממתינים לטעינה של דפים.
גם אם השרת לא צריך להשקיע הרבה עבודה, זמן האחזור של הרשת בין הלקוח לשרת עלול לגרום לזמני תגובה איטיים של השרת.
איך לשפר את זמני התגובה של השרת
השלב הראשון בשיפור זמני התגובה של השרת הוא לזהות את המשימות המושגות העיקריות שהשרת צריך לבצע כדי להחזיר תוכן מהדף, ולאחר מכן למדוד את משך הזמן של כל אחת מהמשימות האלה. אחרי שמזהים את המשימות הארוכות ביותר, מחפשים דרכים להאיץ אותן.
יש הרבה סיבות אפשריות לתגובה איטית של השרת, ולכן יש דרכים רבות לשיפור:
- ביצוע אופטימיזציה ללוגיקת האפליקציות של השרת כדי להכין דפים מהר יותר. אם אתם משתמשים ב-framework של שרת, יכול להיות של-framework יוצגו המלצות איך לעשות זאת.
- לבצע אופטימיזציה לאופן שבו השרת שולח שאילתות למסדי נתונים, או לעבור למערכות מסדי נתונים מהירות יותר.
- כדי לקבל יותר זיכרון או מעבד (CPU), צריך לשדרג את חומרת השרת.
להשתמש ב-CDN כדי לקצר את זמן האחזור של הרשת. האפשרות הזו יעילה במיוחד אם ניתן לשמור את המסמך במטמון בצומת קצה CDN.
מידע נוסף זמין במדריך בנושא אופטימיזציה של המידע שצריך לבצע.
הנחיות ספציפיות למקבץ
Drupal
עיצובים, מודולים ומפרטי שרתים משפיעים על זמן התגובה של השרת. כדאי להשתמש בעיצוב שעבר אופטימיזציה, לבחור בקפידה מודול אופטימיזציה או לשדרג את השרת. שרתי האירוח צריכים להשתמש בשמירה במטמון של קוד opcode של PHP, במערכות לשמירה במטמון זיכרון כמו memcached או Redis כדי לקצר את זמני השאילתות במסד הנתונים, ובלוגיקה אופטימלית של אפליקציות כדי להכין דפים מהר יותר.
Magento
משתמשים בשילוב של Vernic של Magento.
React
אם אתם מבצעים רינדור בצד השרת של רכיבי React, מומלץ להשתמש ב-renderToNodeStream()
או ב-renderToStaticNodeStream()
כדי לאפשר ללקוח לקבל ולרוקן חלקים שונים של תג העיצוב במקום את הכול בבת אחת.
WordPress
בחרו עיצוב קליל (רצוי עיצוב בלוק) ומטמיעים שמירה במטמון של דף מלא או פתרון של אתר סטטי. להשבית יישומי פלאגין מיותרים כדי לצמצם את התקורה של השרת.
כדאי לשדרג את האירוח לשירות מנוהל או ייעודי.