חשבו לרגע על מה קרה כאשר עברתם לדף הנוכחי. אתם או לחצתם על קישור שקיבלתם דרך ניוזלטר, או על הקישור בדף הבית של Tecmint.com ואז נובעת לכם למאמר זה.
בכמה מילים, אתם (או בעצם הדפדפן שלכם) שלחתם בקשת HTTP לשרת האינטרנט שמארח אתר זה, והשרת שלח תשובת HTTP בחזרה.
למראה פשוט כזה, התהליך הזה כולל הרבה יותר מזה. עבודה רבה הייתה צריכה להתבצע בצד השרת כדי להציג את הדף המעוצב שאתם רואים עם כל המשאבים בו – סטטיים ודינמיים.
בלי לחפש יותר עמוק, אתם יכולים לדמיין שאם השרת יצטרך להגיב למספר רב של בקשות כאלו בו זמנית (בואו נגביר רק עד מאה בשעת התחלה), זה יכול להביא או את השרת עצמו או את כל המערכת להאטה לאחר זמן קצר.
וזה המקום שבו Varnish, אקסלרטור HTTP ופרוקסי הפוך בעל ביצועים גבוהים, יכול להציל את היום. במאמר זה, אני אסביר איך להתקין ולהשתמש ב־Varnish כחזית ל־Apache או Nginx כדי לאחסן תגובות HTTP במהירות ובלי לטעון מעוד על השרת האינטרנט.
עם זאת, מאחר ש־Varnish בדרך כלל שומר את המטמון שלו בזיכרון במקום בדיסק נדרש זהירות ו־מגבלת מקום ה־RAM המוקצה למטמון. נדבר על כיצד לעשות זאת ברגע.
תוכן עניינים
איך Varnish עובד

התקנת מטמון Varnish בשרת Linux
הפוסט הזה מניח שכבר התקנת תשתית LAMP או LEMP. אם לא, יש להתקין אחת מהתשתיות הללו לפני להמשיך.
- איך להתקין שרת LAMP על הפצות המבוססות על RHEL
- איך להתקין שרת LAMP על אובונטו
- איך להתקין שרת LAMP על דביאן
- איך להתקין שרת LEMP על הפצות המבוססות על RHEL
- איך להתקין שרת LEMP על אובונטו
- איך להתקין שרת LEMP על דביאן
התיעוד הרשמי ממליץ להתקין את Varnish מתוך המאגר הרשמי של המפתחים מכיוון שהם תמיד מספקים את הגרסה העדכנית ביותר. ניתן גם לבחור להתקין את החבילה מהמאגרים הרשמיים של ההפצה שלך, אם כי זה עשוי להיות מעט מיושן.
כמו כן, שימו לב שהמאגרים של הפרויקט תומכים רק במערכות 64-בית, ואילו עבור מכונות 32-בית, תצטרכו להשתמש במאגרים שנשמרים רשמית על ידי התפריט שלכם.
במאמר זה, נפעיל את Varnish מהמאגרים המתממשים רשמית על ידי כל תפריט. הסיבה העיקרית להחלטה זו היא לספק איכות שלמה בשיטת ההתקנה ולהבטיח פתרון תלות אוטומטי עבור כל המבנים.
התקן Varnish בלינוקס מבוסס Debian
בתפריטים מבוססי Debian, תוכלו להתקין Varnish באמצעות הפקודת apt כפי שמוצג.
# apt update # apt install varnish

התקן Varnish בלינוקס מבוסס RHEL
בהתקנים המבוססים על RHEL כגון CentOS, Rocky ו-AlmaLinux, תצטרך להפעיל את המאגר EPEL לפני התקנת Varnish באמצעות הפקודה yum כפי שמוצג.
# yum install epel-release # yum update # yum install varnish

אם ההתקנה הסתיימה בהצלחה, תהיה לך אחת מהגרסאות הבאות של varnish תלוי בהתקן שלך:
# varnishd -V varnishd (varnish-6.5.1 revision 1dae23376bb5ea7a6b8e9e4b9ed95cdc9469fb64)
לבסוף, עליך להתחיל את Varnish באופן ידני אם התהליך התקנה לא עשה זאת עבורך ולאפשר לו להתחיל בהתנעה.
# systemctl start varnish # systemctl enable varnish # systemctl status varnish

כתוצאה מכך, בשעה 6081 משמשת השירות של varnish ואפשר לאשר זאת על ידי הריצה של הפקודת netstat.
# netstat -tunlp | grep 6081

הגדרת מטמון Varnish Cache ב-Linux
כפי שאמרנו קודם, Varnish עומד בין לקוחות חיצוניים לשרת האינטרנט. לכן, וכדי שהמטמון יהיה שקוף עבור משתמשים סופיים, נצטרך:
- שנה את הפורט הברירת מחדל 6081 שבו Varnish מקשיב לפורט 80.
- שנה את הפורט הברירת מחדל שבו שרת האינטרנט מקשיב לפורט 8080 במקום הברירת מחדל 80.
- הפנה תנועת תשתית חדירה מ-Varnish לשרת האינטרנט. למרבה המזל, Varnish עושה זאת אוטומטית לאחר שביצענו את השלבים 1) ו-2).
שינוי פורט Varnish
תהליך varnishd נשלט על ידי systemd ויש לו קובץ יחידה במיקום /usr/lib/systemd/system/varnish.service, שמחזיק את ההתקנה הפעילה הברירת מחדל של Varnish.
כאן, אנו צריכים לשנות את הפורט הברירת מחדל של varnish מ-6081 לפורט 80 וגודל המטמון ל-1GB כפי שמוצג על ידי הרצת הפקודה הבאה, שתפתח את קובץ היחידה בעורך כמוצג.
הערה: אפשר לשנות את כמות הזיכרון בהתאם למשאבי החומרה שלך או לבחור לשמור קבצי מטמון לכונן.
$ sudo systemctl edit --full varnish OR # systemctl edit --full varnish

לאחר שערכת שינויים בקובץ /etc/systemd/system/varnish.service, עליך לטעון מחדש את דייר Systemd על ידי הרצת הפקודה הבאה:
# systemctl daemon-reload
שינוי פורט Apache או Nginx
לאחר ששינית את פורט ורניש הפוך, עכשיו אתה צריך לשנות את פורט השרת האינטרנט שלך אפטשי או נג'יקס מפורט ברירת המחדל 80 לפורט הרשת הנפוץ ביותר הרוב המשוער של תשתיות הרשת כלומר 8080.
---------- On Debian-based Systems ---------- # nano /etc/apache2/ports.conf [On Apache] # /etc/nginx/sites-enabled/default [On Nginx] ---------- On RHEL-based Systems ---------- # vi /etc/httpd/conf/httpd.conf [On Apache] # vi /etc/nginx/nginx.conf [On Nginx]

לאחר שביצעת שינויים, אל תשכח להפעיל מחדש וורניש הפוך והשרת האינטרנט.
# systemctl restart varnish ---------- On Debian-based Systems ---------- # systemctl restart apache2 # systemctl restart nginx ---------- On RHEL-based Systems ---------- # systemctl restart httpd # systemctl restart nginx
בדיקת מטמון ורניש בלינוקס
הבדיקה הראשונה מכילה ביצוע בקשה HTTP באמצעות פקודת curl ואימות שהיא מנוהלת על ידי ורניש:
# curl -I http://localhost

וורניש כולל גם שתי כלים שימושיים מאוד:
- צפייה בפנקסי ורניש בזמן אמת, הנקרא בצורה אינטואיטיבית varnishlog.
- הצגת סטטיסטיקות מטמון ורניש, הנקרא varnishstat.
כבדיקה שנייה, בסרטון המסך הבא, נציג את גיליונות החשבון והסטטיסטיקות בשרת סנטוקס (dev1, חצי המסך העליון) ובשרת דביאן (dev2, חצי המסך התחתון) כשבקשות HTTP נשלחות ותשובות נקלטות.
בדיקת בסיס ביצועים של שרת אינטרנט
במבחן השלישי והאחרון שלנו נבדוק את שירותי השרת האינטרנט ואת Varnish באמצעות כלי הבדיקה ab benchmarking tool ונשווה את זמני התגובה ועומס המעבדה בכל מקרה.
בדוגמה מסוימת זו נשתמש בשרת CentOS, אך אפשר להשתמש בכל פיתוח ולקבל תוצאות דומות. שימו לב לload average בראש ולשורת הבקשות לשנייה בפלט של ab.
עם ab, נשלח 50 (-c50) בקשות מקבוצתיות בו זמנית ונחזור על המבחן 1000000 פעמים (מצוין על ידי -n1000000). Varnish יחזיר מספר גבוה יותר של בקשות לשנייה ועומס ממוצע נמוך בהרבה.
Important: זכרו שVarnish מקשב לנתיב80 (הנתיב הברור HTTP), ואילו Apache מקשב לנתיב8080. אפשר גם לציין את כמות הזמן הדרוש לכל מבחן.
# ab -c 50 -n 100000 http://localhost/index.html
מסקנה
במאמר זה דנו באופן הכונן של מטמון Varnish מול שרת אינטרנט, Apache, או Nginx. שימו לב שלא חפרנו עמוקות בdefault.vcl קובץ ההתקנה, שמאפשר לנו להתאים את מדיניות הכונן עוד יותר.
עכשיו ייתכן שתרצה להתייחס לתיעוד הרשמי לדוגמאות נוספות של התקנה או להשאיר תגובה באמצעות טופס התגובה למטה.
Source:
https://www.tecmint.com/install-varnish-cache-server/