מהו זכרון מטמון ולמה הוא כל כך חשוב?

דייב אברג'ל,

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

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

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

 

 

מהו זיכרון מטמון?

 

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

אם היו שואלים אתכם 'מהו הסכום המכפלה של 5 x 4 ?', הייתם יודעים שהתשובה היא 20.
לא הייתם צריכים לבצע חישוב מתמטי, ביצעתם את החישוב לשאלה זו כל כך הרבה פעמים בחייכם, כך שאתם לא צריכים לבצע זאת שוב – אתם פשוט זוכרים את התשובה לשאלה מבלי להכניס את המוח שלכם למצב "עיבוד נתונים \ חישוב".
למעשה, זהו סוג של זיכרון מטמון שאנחנו מפעילים.

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

 

באיזה אופן מוגשים עמודים מזיכרון המטמון?

 

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

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

 

אבל מה קורה כאשר התוכן שלי משתנה?

 

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

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

 

האם זיכרון מטמון הוא עד כדי כך יעיל?

 

אתרים בעלי קוד שנכתב בצורה תקינה נטענים בפחות מ-2 שניות. (מהירות טעינת האתר שלכם הוא נתון שתוכלו למדוד בקלות על ידי מספר שירותים חינמיים כמו למשל Pingdom) האם זה לא די והותר מהיר? האם באמת שווה להפעיל טכנולוגיה של זיכרון מטמון? התשובה היא בהחלט כן.

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

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

לשאלותינו – האם זיכרון מטמון הוא עד כדי כך יעיל? שילוב ושימוש נכון במגוון סוגי טכנולוגיות זיכרון המטמון יכול לשפר את זמן טעינת האתר עד 280% מזמן הטעינה המקורי.

 

סוגי טכנולוגיות זיכרון מטמון

 

בכלליות, ניתן לחלק את סוגי הטכנולוגיות ל-2 נושאים עיקריים – זיכרון מטמון בשרת האחסון, וזיכרון מטמון בדפדפן.
זיכרון מטמון בדפדפן נעשה ברמת הלקוח (Client Side), וזיכרון מטמון בשרת האחסון מתבצע ברמת השרת (Server Side) ומונה מספר תתי סוגים של טכנולוגיות זיכרון מטמון. בואו ונבין את ההבדלים בין הסוגים.

 

זיכרון מטמון בדפדפן

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

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

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

 

זיכרון מטמון בשרת האחסון

למעשה כבר הסברנו את אופן הפעולה של זיכרון מטמון בשרת האחסון, במקום ששרת האחסון יצטרך לבצע חישובים \ לעבד כל בקשה, שרת האחסון לוקח את התוצאה (שהיא עמוד HTML)  ושומר אותה בזיכרון מהיר. ולאחר מכן מספק לנו את התוצאה השמורה מראש – מה שהופך את כל העניין של זמן טעינה להרבה יותר מהיר.

יתכן ונתקלתם במושגים כמו Object Cache או Full Page Cache. שני מושגים אלו הם סוגים שונים של טכנולוגיות זיכרון מטמון בשרת האחסון – Full Page Cache הוא הטכנולוגיה שדיברנו עליה עד כה.

Object Cache שומר רק פיסות של מידע, ההיפך מ Full Page Cache. טכנולוגיה זו שימושית בתוך כתיבת קוד בצד השרת (למשל PHP), וכאשר מבצעים שמירה של תוצאה המורכבות ממספר פקודות או פעולות. כמו למשל: טעינה של רשימת וידג'טים בסרגל צד.

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

 

זיכרון מטמון בוורדפרס

 

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

 

שימוש בתוספי מטמון בוורדפרס

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

תמיד כדאי להשתמש בתוסף מטמון בודד. ולהגדיר אותו בצורה אופטימלית לאתר הוורדפרס (אין הגדרה גורפת שמתאימה לכלל האתרים). זה יגרום לאתר שלכם להיטען במהירות המקסימלית.
אנחנו ממליצים על תוסף המטמון הטוב ביותר Wp-Rocket, תוכלו להיעזר במדריך שכתבנו כיצד להגדיר נכון את התוסף Wp-Rocket  לשיפור מהירות.

 

כתיבת קוד אפקטיבי

סעיף זה מתאים יותר למפתחי וורדפרס. אנחנו לא נהיה מעוניינים להיכנס לליבת הוורדפרס במאמר זה, אבל הדבר הראשון שאנחנו אמורים להכיר כמפתחי וורדפרס הוא – מהי צורת העבודה של וורדפרס מבפנים.

לדוגמה, במידה ותריצו את פונקציה בכדי לקבל נתון בודד לגבי פוסט:

get_post_meta( $post_id, ' thumb', true );

וורדפרס מאחורי הקלעים מבצע את הפקודה בעבור כל המידע לגבי הפוסט הנוכחי. זה אומר שגם אם נשתמש שוב בפקודה get_post_meta() עוד 20 פעמים נוספות – וורדפרס לא יבצע את הפקודה בכל פעם מחדש.

הדבר השני שכדאי לדעת הוא כיצד להשתמש בTransients  בצורה נכונה באתרי וורדפרס.
Transients הם סוג של פתרון Object Caching עם תאריך תפוגה (או בלי תאריך תפוגה).

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

 

שימוש במטמון ברמת שרת האחסון

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

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

במידה ואתם משתמשים באחסון מנוהל וורדפרס בכדי לאחסן את האתר שלכם, בדרך כלל מומלץ לא להשתמש בתוספי מטמון כלל.
לרוב – חברות המתמחות באחסון מנוהל וורדפרס מבססות את מערכות שמירת המטמון שלהם לעבוד ללא תוספי מטמון או לעבוד עם תוסף מטמון ספציפי שהותאם במיוחד לצרכים אלו.
(אצלנו ב-uPress אנחנו מאוד ממליצים על שימוש בתוסף המטמון Wp-Rocket)

 

לסיכום

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

במידה ועדיין לא מותקן תוסף מטמון על גבי אתר הוורדפרס שלכם, זה הזמן !

יתרונות UPRESS

 

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

מרגישים שפעלתם לפי כל ההסברים ועדיין האתר שלכם זוחל ? אולי הגיע הזמן לעבור לספק אחסון המתמחה באתרי וורדפרס ! אנו פה לכל שאלה \ אתגר.

דייב אברג'ל

סמנכ"ל ומייסד uPress, מפתח Backend & Frontend, מתמחה בשיפור ביצועים לאתרי וורדפרס, טיפול בבעיות אבטחה מתקדמות, ושיווק ברשתות חברתיות. שותף פעיל במספר פרוייקטים מעניינים בתחום המוגשים כתרומה לקהילה - WiPi, Enable, Greenicon, Speedom, ועוד..

  • אולי יעניין אותך..

  • 0 תגובות על “מהו זכרון מטמון ולמה הוא כל כך חשוב?”

    1. תבדקו את התוסף fastest cashe (מומלץ עם הפרמיום, לא מוגבל באתרים) – הוא הביא לי את התוצאות המעולות ביותר לעומת כל התוספים הקיימים.

    כתיבת תגובה

    האימייל לא יוצג באתר. שדות החובה מסומנים *