אחסון וביצועים
איך אנחנו הופכים את WordPress למהירים: LiteSpeed Enterprise, LSCache ו-Redis לכל אתר
בקשת ה-WordPress המהירה ביותר היא זו שלעולם אינה רצה — כך המערכת שלנו עונה על רוב הביקורים מתוך מטמון (cache) עוד לפני ש-PHP או MySQL מופעלות כלל, וזה מה שזה אומר עבור Core Web Vitals.
הבקשה המהירה ביותר היא זו שלעולם אינה רצה
בקשת WordPress רגילה היא פעולה יקרה מבחינת משאבים. שרת האינטרנט מעביר את הטיפול ל-PHP, PHP מפעיל את WordPress, מריץ את התוספים, מבצע שאילתות אל MySQL כמה עשרות פעמים, מרכיב את ה-HTML, ורק אז שולח בחזרה את הבייטים. באתר עמוס, כל התהליך הזה מתרחש עבור כל מבקר, ושם בדיוק מתבזבז כמעט כל זמן עד להגעת הבייט הראשון (time-to-first-byte).
הפתרון שלנו הוא לוודא שברוב הביקורים, שום דבר מזה לא קורה כלל. לאורך האתרים שאנו מארחים — למעלה מ-100,000 אתרי PBN בנוסף לניהול WordPress רגיל — הרוב המכריע של צפיות בעמודים ב-front-end מוגשות כעמוד מלא שעובד מראש ישירות מהמטמון, מבלי להפעיל PHP או לגעת במסד הנתונים. יתר הפוסט הזה עוסק בשאלה כיצד השכבות שמאפשרות זאת מתחברות יחד, ואיפה כל אחת מהן מרוויחה את מקומה.
המסגרת החשובה היא שלא מדובר במטמונים מתחרים שצריך לבחור ביניהם. מטמון עמודים מלא, מטמון עצמים וקצה ה-CDN מטפלים כל אחד בסוג אחר של בקשה, והערך טמון האופן שבו הם מעבירים את הנתונים זה לזה.
LiteSpeed Enterprise + LSCache: שכבת העמוד המלא
כל אתר פועל על LiteSpeed Enterprise עם LSCache ברמת השרת. כאשר תגובת צד-לקוח ניתנת למימון מטמון, שרת האינטרנט מטביע עליה כותרות control-cache ו-tag של LiteSpeed, ו-LiteSpeed מגיש את העמוד השלם ישירות בפגיעה הבאה – ללא תהליך PHP שמופעל, וללא שאילתת MySQL שמונפקת. זהו המנוף המשמעותי ביותר עבור WordPress TTFB, משום שהוא מסיר את אתחול היישום כולו מנתיב הגישה המרכזי.
מכיוון ש-LSCache פועל בתוך שרת הבלוג ולא בתוך תוסף PHP, הוא מתחיל לפעול בשלב מוקדם יותר במחזור החיים של הבקשה ומחזיק עמודים בתבנית שהשרת יכול לרוקן באופן מיידי. זחלן מטמון (cache crawler) שומר על זמינותם של עמודים פופולריים, כך שהמבקר הראשון לאחר ניקוי המטמון אינו זה שמשלם את מחיר יצירת העמוד מחדש. התוצאה היא TTFB נמוך ועקבי באופן ניכר בהשוואה למטמון המבוסס על תוסף בלבד והורכב על גבי סביבת עבודה גנרית, שבה המטמון עדיין יושב מאחורי PHP.
תוסף המטמון שלנו ברמת-המאגר מגיע מותקן מראש ומעודכן אוטומטית בכל אתר, ומחבר את WordPress אל LSCache בצורה נכונה מיד מהקופסה. בשרת מקור שאינו מסוג LiteSpeed הוא פשוט אינו מנפיק כותרות של עמוד שלם ויוצא מהדרך, בזמן שמטמון האובייקטים וכללי ההחרגה ממשיכים לבצע את עבודתם — כך שאתר שעבר הגירה לעולם אינו נשאר במצב שבור או מוגדר למחצה.
להישאר מהירים מבלי להגיש תוכן ישן: ESI וניקוי אוטומטי חכם
למטמון מלא ואגרסיבי של עמודים יש שני מצבי כשל קלאסיים: הצגת עמוד של משתמש אחר למשתמש מחובר, והצגת עמוד שהיה אמור להשתנות לכל משתמש שהוא. שניהם נפתרים בשכבת המטמון (caching) ולא על ידי צמצום השירות שלו.
ESI (Edge Side Includes) מאפשר לנו לשמור את הדף במטמון תוך יצירת "חורים" עבור החלקים שחייבים להישאר עדכניים. בחנות WooCommerce, דפי הקטלוג, המוצרים והקטגוריות מוגשים ממטמון של דף מלא עבור ה-TTFB המהיר ביותר שניתן, בעוד ש-ESI מרנדר את מקטע סל הקניות, סכומי סל הקניות הממוזער ומצב החשבון בכל בקשה. הדפים סל קניות, קופה, החשבון שלי וכל דף עם nonce או סשן מוחרגים כברירת מחדל. הקונים תמיד רואים את סל הקניות שלהם ותהליך קופה תקין; כל השאר עדיין מקבלים את חזית החנות מהמטמון.
הטריות מנוהלת באמצעות ניקוי אוטומטי חכם. ווים של ניקוי מופעלים באופן אוטומטי כאשר תוכן, מוצרים, מחירים או הזמנות משתנים, כך שדפי המטמון הרלוונטיים מתרעננים מיד במקום לפי טיימר, ותוכן יכול גם לנקות לפי דרישה מלוח הבקרה או מתוך WordPress. ניקוי מבוסס-תגיות אומר שעריכת פוסט אחד מנקה את אותו פוסט ואת הארכיונים שלו – ולא את כל מטמון הנתונים – כך ששינוי בודד אינו גורם להפעלה קרה של האתר כולו.
מטמון אובייקטים Redis לכל אתר: עבור מה שלא יכול להיות עמוד מלא
לא כל בקשה יכולה להיות עמוד סטטי מלא. סשנים של משתמשים מחוברים, ממשק הניהול של WordPress, עגלות הקניות של WooCommerce, חיפוש, והקטעים הדינאמיים שנותנים ESI חייבים כולם לרוץ על PHP. עבור אלו, המטרה משתנה מ'דילוג על האפליקציה' ל'דילוג על מסד הנתונים'.
לכל אתר יש מטמון אובייקטים ייעודי של Redis. WordPress שומרת במטמון את התוצאות של קריאות בסיס נתונים חוזרות – אפשרויות, טרנזיינטים, חיפושי פוסטים ומונחים, נתוני מוצרים ועגלות של WooCommerce – בזיכרון, כך שאותה שאילתת SQL אינה רצה מול MySQL בכל כניסה. ההפקד מורגש ביותר בדיוק במקום שבו מטמון עמודים מלא אינו יכול לעזור: לוח בקרה מהיר יותר, עגלות קניות מהירות הרבה יותר, ועומס נמוך משמעותית על בסיס הנתונים תחת תנועה.
מטמון האובייקטים הוא לכל אתר ואינו משותף, דבר שחשוב הן לביצועים והן לבידוד. בשילוב עם ויסות מסדי נתונים לכל אתר, שאילתות כבדות או כתובות היטב של אתר אחד אינן יכולות לגרום לרעב במסד הנתונים עבור השכנים שלו. תוכלו לקרוא עוד על האופן שבו כל הגדרת רב-השכבות מששתפת יחד בעמוד תכונת המטמון שלנו, ועל הגבולות שבין הדיירים תחת בידוד.
הקצה והתעבורה שמתחתיו
מטמון שיושב על המקור עדיין חייב לעבור ברשת. מול השרת ניצב קצה ה-CDN, כך שנכסים סטטיים ודפים הניתנים למימון מטמון מוגשים מנקודת נוכחות הקרובה למבקר, והמקור נותר שקט גם תחת עומס. עבור קו האחסון חסר ה-footprint שלנו, אותו קצה הוא מאגר מרובה-CDN המרוספק על פני ספקים מספר, המשרת מטרה הקשורה ל-footprint כמו גם לביצועים; ב-WordPress המרכזי מדובר פשוט בש שכבה מהירה וממושמעת היטב השומרת על מקורות במצב סרק.
מתחת לכול, היסודות אינם מקוצצים פה. אתרים פועלים על אחסון NVMe עם HTTP/3, כך שהבתים שהמטמון אכן שולח מגיעים דרך תעבורה מודרנית ומרובת-ערוצים עם אחסון מהיר מאחורי כל פספוס מטמון. אף אחת מהשכבות הללו אינה תוספת: LiteSpeed, LSCache, Redis לכל אתר, NVMe ו-HTTP/3 הם בסיס בכל תוכנית, ולא שכבת שדרוג בתשלום נוסף.
מה באמת מניע את Core Web Vitals
כדאי להיות מדויקים, כיוון שאחסון אתרים נמכר לרוב בהבטחות מוגזמות סביב Core Web Vitals. מדד ה-TTFB הוא החלק במשוואה השייך לשרת, ומערכת המטמון שמעליו היא זו שמצמצמת אותו — עמוד מלא המאוחסן במטמון ומוגש באמצעות HTTP/3 מן הקצה (edge) מגיע לערכי TTFB נמוכים ככל האפשר. מאחר ש-TTFB הוא נקודת הפתיחה של מדד ה-Largest Contentful Paint, מקור מהיר מעניק לכל מדד בהמשך הדרך יריית פתיחה בלתי ניתנת להשגה בכל דרך אחרת.
אבל LCP, CLS ו-INP נקבעים בעיקר בדפדפן, על ידי העמוד עצמו: תמונת גיבור לא ממוטלת, קובצי CSS ו-JavaScript שחוסמים עיבוד, פריסה שזזה בזמן שגופנים ופרסומות נטענים, ועבודה כבדה בחוט הראשי מצד תוספים. שום כמות של מטמון שרת לא מתקנת תמונת גיבור בנפח 2 מגה-בייט או ערכת נושא שמספקת מגה-בייטים של JavaScript. אחסון הגון הופך את תרומת השרת ליעילה, חופשית ועקבית, ואז מוטלת על האתר האחריות לשמור על צד הלקוח רזה.
חלוקת עבודה זו היא המודל המנטלי השימושי. אנו מתחייבים שהבקשה תגיע לדפדפן מהר ותישאר מהירה תחת עומס תנועה; אתה שומר על מטענת הנתונים קטנה ויציבה. נקודת המפגש בין השניים – חימום מטמון, אספקה בקצה הרשת, ושמירה על תגובתיות של מסד הנתונים כדי שעמודים דינמיים לא ייעצרו – היא בדיוק המקום שבו מחסנית הטכנולוגיות שלנו מותאמת, וזה מה שהופך את WordPress המנוהלת בפלטפורמה הזו למהירה יותר מאותם אתרים באחסון כללי.
שאלות נפוצות
האם אני עדיין צריך תוסף מטמון כמו WP Rocket?
לא. מטמון דף מלא (Full-page caching) מנוהל ברמת שרת ה-Web על ידי LSCache של LiteSpeed, ותוסף המטמון שלנו — שמוגדר מראש ומתעדכן אוטומטית — מחבר את WordPress אליו בצורה נכונה, יחד עם מטמון אובייקטים של Redis לכל אתר ברקע. התקנת תוסף מטמון דף מלא שני מעל בדרך כלל מתנגשת עם המטמון ברמת השרת ולא מסייעת, ולכן היא אינה נחוצה ואינה מומלצת.
האם אחסון במטמון ישבור את עגלת הקניות שלי ב-WooCommerce או את העמודים למשתמשים מחוברים?
לא. עגלת הקניות, קופה, חשבון-שלי וכל עשוי-זמן או עמוד סשן מוחרגים מהמטמון כברירת מחדל, ו-ESI שומר על רסיס עגלת הקניות והסיכומים פעילים בעמודים המאוחסנים במטמון. קונים תמיד רואים את סל הקניות שלהם ואת עמוד התשלום מתפקד בזמן שחנות החזית עדיין נטענת מהמטמון.
איך מטמון הנתונים נשאר מעודכן כאשר אני מפרסם أو עורך?
ניקוי אוטומטי חכם מופעל ב-Hooks הרלוונטיים של WordPress, כך שפרסום, עריכת תוכן, או שינוי מוצר, מחיר או הזמנה מנקים רק את העמודים המושפעים ואת ארכיוניהם — ולא את כל המטמון — וזחלן מחמם אותם מחדש. ניתן גם לנקות לפי דרישה מלוח הבקרה או מתוך WordPress.
האם אחסון לבדו יכול לספק לי מדדי Core Web Vitals מושלמים?
הוא מעeeניק לכם את ה-TTFB הטוב ביותר האפשרי, שהוא חלקו של השרת ונקודת זינוק מצוינת עבור Largest Contentful Paint. אך מדדי LCP, CLS ו-INP נקבעים במידה רבה על ידי העמוד עצמו — גודלי תמונות, נכסים החוסמים עיצוב, יציבות פריסה וקוד JavaScript בשרשור המרכזי. ה-stack שלנו הופך את תרומת השרת למהירה ועקבית; שמירה על מטען קל בצד הלקוח היא מה שסוגר את שאר הפער.
קשורים
התחל ניסיון חינם למשך 14 יום
הקם את האתרים הראשונים שלך חינם למשך 14 יום — ללא צורך בכרטיס אשראי. מעביר רשת קיימת? ההגירה הראשונה עלינו.
התחל בחינם