→ חזרה

מה עושים עם כמות גולשים גבוהה בו זמנית ואיך ניתן לייעל את צריכת משאבי השרת ?

במאמר זה אני הולך להציג בפניכם את מגוון הפתרונות הקיימים ב uPress לכמויות גולשים גבוהות בו זמנית ולבצע סקירת ביצועים ובדיקת עומסים בעומס של כ1000 משתמשים בו זמנית (בשיא) על גבי שרת מסוג VPS Advanced המכיל 4 ליבות מעבד ו8GB זיכרון (משאבי שרת גבוהים יחסית). ואתר עם כ100,000 פוסטים (מסד נתונים נכבד, שלא מבייש אתר חדשות עשיר).

המאמר יעסוק ביעילות ביצועים בעזרת זיכרון מטמון ולכן הייתי ממליץ להקדים ולקרוא המאמר הבא
שעוסק בתשובה לשאלה מהו זיכרון מטמון בשרת ומדוע הוא כל כך חשוב.

אז מהם שיטות המטמון הקיימות ב uPress ולמה כל אחת מהן מיועדת ?

ב uPress קיימות שני שיטות זיכרון מטמון מרכזיות שבהן עושים שימוש מרבית האתרים המאוחסנים על גבי הפלטפורמה שלנו והם:

זיכרון מטמון אפליקטבי – הוא מצב הזיכרון מטמון האופטימלי עבור רוב האתרים המצב עושה שימוש בזיכרון מטמון בשרת על מנת לשמור את חישובי המעבד האחרונים שבוצעו (ברמת הPHP) בנוסף לכך המצב מוסיף תוקף לקבצי האתר ברמת הדפדפן (HTTP Expires Headers, פרמטר שנבדק במגוון כלי בדיקות מהירות למינהם) ובנוסף לכך עושה שימוש בתוסף המטמון שלנו ezCache על מנת לשמור את תכני האתר הסטטיים ולבצע להם שליפה מהירה ככל הניתן מבלי הצורך לתשאל את השרת.

זיכרון מטמון אגרסיבי (מכונה גם NoSQL Mode) הוא מצב שלמעשה הופך את האתר שלכם מדינמי לסטטי לחלוטין, במצב זה לא נעשית שום קריאה למסד הנתונים של האתר (DataBase) ולא מתבצעות שום פעולות כלשהן ברמת הPHP.
כל גישה לאתר שלכם מצד הגולשים עוברת באמצעות שכבת המטמון הזו ללא שום בקשה ישירה לשרת עצמו.
ככה נחסכות בקשות לשרת ועומס מיותר על השרת, וכמובן מהירות טעינה מהירה במיוחד. עבור תכנים שלא קיימים במטמון הזה, מתבצעת קריאה בודדת לשרת ולאחר שהתוכן מתקבל הוא נשמר במטמון ומוצג לגולשים הבאים מתוכו. מצב NoSQL Mode מיועד ומותאם לאתרי תדמית עם תוכן מובנה שלא משתנים ולא שולחים טפסים למינהם (לרבות טפסי הרשמה, טפסי צור קשר וכו').

(את מצבי המטמון הנ"ל תוכלו למצוא תחת לשונית ביצועים בפאנל ניהול היופרס שלכם)

סקירת ביצועים (בהשוואה ללא זיכרון מטמון כלל!)

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

את סקירת הביצועים אני אתחיל ואפתח בטעינת האתר ללא שום זיכרון מטמון כלשהו פעיל.
https://prnt.sc/sa9t3i בתמונה הבאה ניתן לראות כי זמן טעינת האתר על כל חלקיו ארך כ2.65 שניות (מדובר במצב של כ1000 גולשים באתר בו זמנית).
https://prnt.sc/sa9z5p בתמונה הבאה מתוך פאנל הניהול של סטטיסטיקות השרת ניתן לראות כי העומס הממוצע של השרת עמד על 80.67 וניצול של 7 מתוך 8 ליבות מעבד (כ90% ממשאבי המעבד בשרת!).

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

https://prnt.sc/saa7sj בתמונה הבאה ניתן לראות שזמן טעינת האתר התקצר משמעותית ל946 אלפיות שניה מ2.65 שניות שהם 2650 אלפיות שניה (שיפור פי 280% במהירות הטעינה של הדף הראשי לאור הפעלת מצב זיכרון מטמון אפליקטיבי! יחד עם עומס גולשים של כ1000 גולשים בו זמנית!)

מבחינת משאבי השרת ניתן לראות ירידה חדה של כפי 800% בעומס הממוצע ופי 300% בצריכת המעבד! ניתן לראות זאת בתמונה הבאה https://prnt.sc/saaam5.

וכעת לגולת הכותרת מצב זיכרון מטמון אגרסיבי (NoSQL Mode)
כמובן עם עומס גולשים של כ1000 גולשים באתר בו זמנית.

https://prnt.sc/saac8j בתמונה הבאה ניתן להבחין בזמן טעינה כולל לדף הראשי של כ699 אלפיות שניה (שיפור של פי 380% מטעינה ללא מטמון, ושל כ35% מטעינה בעזרת מטמון אפליקטיבי)

https://prnt.sc/saaep3 מבחינת ניצול משאבי השרת אנחנו יכולים לראות שיפור של פי 1296% בצריכת המעבד ו 2860% בעומס הממוצע, בהשוואה לניצול משאבי השרת בעומס גולשים של כ1000 גולשים בו זמנית ללא זיכרון מטמון כלל.
ושיפור של 410% בצריכת המעבד ו 353% בעומס הממוצע, בהשוואה לניצול משאבי השרת בעומס גולשים של כ1000 גולשים בו זמנית עם זיכרון מטמון אפליקטיבי.

לסיכום

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

→ חזרה

עדיין זקוקים לעזרה?