מטמון רב-שכבתי בדרופל: Redis, Varnish, BigPipe

אתר הדרופל שלך מאט ככל שהתנועה גדלה, וכל עמוד נוצר מחדש, מה שמעמיס על השרת ומאריך את זמני התגובה. אנו מגדירים מטמון רב-שכבתי באמצעות Redis, Varnish ו-BigPipe כדי להאיץ את הטעינה ולהפחית את עומס מסד הנתונים. הצוות שלנו מוסר את הפרויקט במפתח מלא—מביקורת ועד הטמעה ותמיכה שוטפת, תוך הבטחת ביצועים יציבים גם בעומסי שיא.

פיתוח ותחזוקה של כל סוגי האתרים:

אתרי מידע או יישומי אינטרנט
אתרי תדמית, דפי נחיתה, אתרי חברה, קטלוגים מקוונים, חידונים, אתרי קידום, בלוגים, מקורות חדשות, פורטלי מידע, פורומים, אגרגטורים
אתרי מסחר אלקטרוני או יישומי אינטרנט
חנויות מקוונות, פורטלי B2B, שווקים, בורסות מקוונות, אתרי קאשבק, בורסות, פלטפורמות דרופשיפינג, מנתחי מוצרים
יישומי אינטרנט לניהול תהליכים עסקיים
מערכות CRM, מערכות ERP, פורטלים ארגוניים, מערכות ניהול ייצור, מנתחי מידע
אתרי שירות אלקטרוני או יישומי אינטרנט
פלטפורמות מודעות, בתי ספר מקוונים, בתי קולנוע מקוונים, בוני אתרים, פורטלים לשירותים אלקטרוניים, פלטפורמות אירוח וידאו, פורטלים נושאיים

אלה רק חלק מהסוגים הטכניים של אתרים שאנו עובדים איתם, ולכל אחד מהם יכולים להיות מאפיינים ופונקציונליות ספציפיים משלו, וכן ניתן להתאים אותם לצרכים ולמטרות הספציפיים של הלקוח.

השירותים שאנו מציעים
מציג 1 מתוך 1כל 2062 השירותים
מטמון רב-שכבתי בדרופל: Redis, Varnish, BigPipe
מורכב
~3-5 ימים

הכישורים שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אתר חברה B2B ADVANCE
    פיתוח אתר חברה B2B ADVANCE
    1502
  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1344
  • פיתוח אתר עבור BELFINGROUP
    פיתוח אתר עבור BELFINGROUP
    1052
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1307
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1050
  • פיתוח אתר לחברת FIXPER
    פיתוח אתר לחברת FIXPER
    1033

מדוע מטמון רב-שכבתי קריטי לביצועי Drupal

תרחיש טיפוסי: אתר Drupal עם 10,000 מבקרים יומיים מתחיל לפגר בעומס שיא. ללא מטמון, כל עמוד מייצר עד 30 שאילתות SQL, ועם 1,000 סשנים במקביל, מגבלות המעבד נחצות והאתר קורס. TTFB מזנק ל-2 שניות, ו-Core Web Vitals נכשלים. בפרויקט אחד עם 50,000 ביקורים ביום, הפחתנו את TTFB מ-2.5 שניות ל-8 אלפיות השנייה על ידי יישום מטמון רב-שכבתי. הצוות שלנו של מומחי Drupal עם ניסיון של 12+ שנים ו-60+ יישומי מטמון מוצלחים מספק תוצאות מדידות.

אנו נתקלים בבעיה זו עשרות פעמים. הפתרון הוא שילוב של Internal Page Cache, Dynamic Page Cache, Redis, Varnish ו-BigPipe. מחסנית זו מפחיתה את עומס השרת ב-90% ומקצרת את TTFB לעשרות אלפיות השנייה. אופטימיזציה של ביצועי Drupal דורשת הבנה כיצד פועלים תגי מטמון וביטול תוקף.

בעיות שאנו פותרים

  • TTFB גבוה — עמודים נבנים מאפס עבור כל בקשה, גם אם הם סטטיים. מקרה טיפוסי: Drupal ללא מטמון מייצר עמוד ב-500–1500 אלפיות השנייה, מתוכן 300–800 אלפיות השנייה הן שאילתות SQL.
  • עומס יתר על מסד הנתונים — כל רינדור מפעיל עשרות שאילתות (N+1, תצוגות לא מותאמות). ב-100 בקשות בשנייה, מסד הנתונים עלול לקרוס.
  • בלוקים דינמיים איטיים — אלמנטים מותאמים אישית (עגלה, סרגל משתמש) חוסמים את הרינדור. BigPipe פותר זאת עם רינדור סטרימינג.

ארכיטקטורת מטמון

Drupal היא אחת ממערכות ה-CMS הבודדות עם תמיכת מטמון מובנית ברמת הליבה. אנו משתמשים בארבע רמות:

Render Cache

מטמון למערכי רינדור בודדים (בלוקים, תצוגות, שדות). מבוטל על ידי תגי מטמון. דוגמה: בלוק החדשות האחרונות נשמר במטמון לשעה ומבוטל כאשר מתפרסם מאמר חדש.

Dynamic Page Cache

מטמון לעמודים עם קונטקסט (מחובר/מנותק, שפה, תפקיד). אינו מריץ את ה-bootstrap המלא אך עדיין נוגע ב-PHP. TTFB טיפוסי: 50–200 אלפיות השנייה.

Internal Page Cache

מטמון עמודים מלא למשתמשים אנונימיים. שומר HTML בדיסק/במסד נתונים. מופעל דרך אדמין או drush:

drush en page_cache -y drush cr 

תצורה: drush en page_cache -y drush cr .

מידע נוסף על תצורת Varnish לפרויקטים עם תעבורה גבוהה

Varnish פועל כ-reverse proxy מול Nginx/Apache. הוא שומר תגובות במטמון ומבטל את תוקפן באמצעות תגי מטמון כאשר תוכן מתפרסם. שילוב Varnish עם Drupal באמצעות מודול Purge מבטיח שתגי המטמון יכובדו לביטול תוקף גרעיני. תצורת VCL בסיסית:

vcl 4.1;
import std;
backend default {
    .host = "127.0.0.1";
    .port = "8080";
}
sub vcl_recv {
    if (req.http.Cookie ~ "SESS|SSESS") {
        return(pass);
    }
    if (req.method != "GET" && req.method != "HEAD") {
        return(pass);
    }
    unset req.http.Cookie;
    return(hash);
}
sub vcl_backend_response {
    set beresp.ttl = 1h;
    set beresp.grace = 1h;
    return(deliver);
}
sub vcl_deliver {
    set resp.http.X-Cache = obj.hits > 0 ? "HIT" : "MISS";
}

Varnish משתמש במפתחות hash המבוססים על URL וכותרות מטמון, עם מצב grace ל-stale-while-revalidate ומצב saint לבדיקות בריאות של השרת האחורי. לשילוב, אנו משתמשים במודול Purge:

composer require drupal/varnish_purger drupal/purge
drush en purge purge_drush purge_ui purge_queuer_coretags purge_processor_cron varnish_purger -y

לפי ויקיפדיה, Varnish משתמש בתגי מטמון גרעיניים לביטול תוקף מדויק, דבר קריטי לאופטימיזציה של ביצועי Drupal.

אילו מדדי ביצועים לעקוב?

עקוב אחר TTFB, מספר שאילתות SQL, יחס פגיעות מטמון (HIT/MISS), LCP, CLS. כלים: מודולי Devel, XHProf, כותרות X-Cache מ-Varnish. שאף ל-TTFB מתחת ל-200 אלפיות השנייה ויחס פגיעות מטמון מעל 90%. בפרויקט אחד לאחר אופטימיזציה, TTFB ירד מ-1.2 שניות ל-12 אלפיות השנייה, ושאילתות SQL מ-250 ל-3 לעמוד. הצוות שלנו עם 60+ פרויקטי ביצועי Drupal משיג הפחתת TTFB ממוצעת של 95%. עבור אתר Drupal טיפוסי עם 50 אלף מבקרים ביום, מטמון רב-שכבתי חוסך 3,000 דולר בחודש בעלויות אירוח.

כיצד תצורת המטמון של Drupal משפיעה על Core Web Vitals

מטמון מוגדר כראוי משפר ישירות את LCP ו-INP. כאשר עמוד נשלח ממטמון Varnish, LCP יורד ל-500–800 אלפיות השנייה, ו-INP משתפר עקב ביטול משימות שרת ארוכות. עבור משתמשים מחוברים, BigPipe מפצל את הרינדור לסטרימים, ומקצר את הזמן לתוכן ראשון.

תצורת Redis עבור Drupal

התקן את מודול Redis, הגדר פרמטרים ב-settings.php:

$settings['redis.connection']['interface'] = 'PhpRedis';
$settings['redis.connection']['host'] = 'localhost';
$settings['cache']['default'] = 'cache.backend.redis';
$settings['cache']['bins']['render'] = 'cache.backend.redis';
$settings['cache']['bins']['dynamic_page_cache'] = 'cache.backend.redis';

לאחר מכן, מאגרי המטמון מועברים ל-Redis, מה שמפחית את עומס מסד הנתונים ב-70–90%. תצורת Redis למטמון Drupal מורידה שאילתות ממסד הנתונים ומשפרת את ביצועי Drupal, במיוחד בשילוב עם OPcache Drupal. OPcache מאיץ את ביצוע סקריפטי PHP ב-30–50%.

מה כלול בעבודה

  • ביקורת על הארכיטקטורה הנוכחית (לוגים, תצורות, עומס).
  • יישום כל רמות המטמון (Internal Page Cache, Dynamic Page Cache, Redis, Varnish, BigPipe).
  • תצורת PHP OPcache ואיגום CSS/JS.
  • תיעוד תחזוקה והמלצות פריסה.
  • הבטחת ביצועים: TTFB <200 אלפיות השנייה בעומס טיפוסי.
  • הדרכת צוות בניהול מטמון וניטור.
  • מעל 60 פרויקטים מותאמים, הפחתת TTFB ממוצעת של 95%.

חיסכון בעלויות תשתית יכול להגיע ל-80% עקב הפחתת עומס השרת. השקעה באופטימיזציה בדרך כלל מחזירה את עצמה תוך 2–3 חודשים. חבילות אופטימיזציה מתחילות ב-1,500 דולר.

תהליך ולוח זמנים

  1. ניתוח — לימוד הארכיטקטורה הנוכחית, לוגים, תצורות (יום אחד).
  2. עיצוב — בחירת מחסנית: Varnish מול מטמון Nginx, Redis מול Memcache (יום אחד).
  3. יישום — תצורת מטמון, BigPipe, Purge (2–3 ימים).
  4. בדיקות — בדיקות עומס, מדידת Core Web Vitals (יום אחד).
  5. פריסה — העלאה לייצור, תיעוד (יום אחד).

לוחות זמנים טיפוסיים: אופטימיזציה בסיסית — 2–3 ימים, עם Varnish — 5–7 ימים. התמחור מחושב באופן אישי. צור קשר לביקורת מפורטת.

תוצאות אופטימיזציה טיפוסיות

תצורה TTFB שאילתות SQL
ללא מטמון 800–2000 אלפיות השנייה 100–300
Dynamic Page Cache 50–200 אלפיות השנייה 5–20
Varnish (אנונימי) 1–5 אלפיות השנייה 0
Redis + OPcache 100–300 אלפיות השנייה 5–15

Varnish מהיר בערך פי 10 מ-Dynamic Page Cache עבור בקשות אנונימיות.

השוואת שיטות מטמון

שיטה סוג מטמון המתאים ביותר ל
Internal Page Cache עמוד מלא משתמשים אנונימיים
Dynamic Page Cache עמוד עם קונטקסט כל המשתמשים (עם קונטקסט)
Varnish מטמון חיצוני אנונימיים, טעינה מוקדמת
Redis מטמון בינארי כל המאגרים, הורדת עומס ממסד הנתונים

לפי ויקיפדיה, BigPipe היא טכנולוגיית רינדור סטרימינג שממזערת את הזמן לתוכן ראשון עבור משתמשים מחוברים.

לצוות שלנו ניסיון של למעלה מ-10 שנים ב-Drupal והוא השלים 50+ פרויקטי אופטימיזציה של ביצועים. הזמן ביקורת ביצועי Drupal עוד היום וקבל ייעוץ לפרויקט שלך.