מטב את ביצועי מסד הנתונים שלך על ידי שימוש בשרת Memcached עם יישומי PHP ו-Python שלך
אם אי פעם הרגשת את הכאב של עומס רב במסד הנתונים שגורם להאטות ביישומי האינטרנט שלך ותהיתם "האם יש דרך להפחית את ההשהיה הנגרמת על ידי שאילתות DB?", אז התשובה לשאלה זו היא כן בגדול. Memcached דמון מטמון זיכרון שכונתי ידידותי נמצא כאן כדי לפתור את כל הצרות שלך! שמירה במטמון של ה-DB היא אחת השיטות הפשוטות ביותר להקלת עומס DB ולהאיץ את יישומי האינטרנט הדינמיים.
Memcached מגדירה את עצמה כמערכת אחסון אובייקטי זיכרון מבוזרת בעלת ביצועים גבוהים, גנרית במהותה, אך נועדה במקור לשימוש בהאצת יישומי אינטרנט דינמיים על ידי הקלת עומס מסד הנתונים. פותח על ידי בראד פיצפטריק עבור אתר האינטרנט שלו LiveJournal בשנת 2003.
במאמר זה, נבחן כיצד להתקין ולהגדיר את Memcached באובונטו 20.04 ונבחן את הלקוחות הספציפיים לשפה שלו.
דרישות מוקדמות
מערכת המותקנת עם אובונטו 20.04 עם משתמש בעל זכויות ניהול, כלומר א סודו
מִשׁתַמֵשׁ.
הַתקָנָה
Memcached זמין במאגר הרשמי של Ubuntu 20.04, בנוסף ל-Memcached אנחנו הולכים להתקין כלי CLI הידוע בשם libmemcached-tools
לנהל את Memcached. פשוט הפעל את הפקודה הבאה כדי להתקין את שניהם
sudo apt התקן את memcached libmemcached-tools
ודא התקנה
לאחר השלמת ההתקנה, Memcached daemon מתחיל ברקע מעצמו. כדי לאמת את ההתקנה, אנו יכולים להשתמש בפקודה מ libmemcached-tools
חבילה כדי לקבל נתונים סטטיסטיים של שרת Memcached. או לרוץ
memcstat --שרתים מקומי מארח
אוֹ
memcstat --שרתים 127.0.0.1
ה memcstat
הפקודה מציגה את הנתונים הסטטיסטיים של שרת פועל. הפקודה לעיל תגרום לפלט המוצג למטה.
סטטיסטיקות שונות כגון זמן פעילות
בשניות, גִרְסָה
ו pid
יוצג כפלט. עם זאת, אם לא מוצג פלט, ייתכן ש-Memcached אינו פועל. לכן, עליך להפעיל את הפקודה הבאה כדי להפעיל את שרת Memcached.
sudo systemctl התחל memcached
כדי להפעיל את שרת Memcached באתחול המערכת השתמש בפקודה הבאה.
sudo systemctl אפשר את memcached
הגדרת Memcached
אם ה-memcached שלך מותקן בשרת האתר עצמו, אין צורך לשנות את קובץ התצורה שכן memcached מוגדר מראש לעבוד עם localhost.
מצד שני, אם התקנת את Memcached על מערכת נפרדת תצטרך לשנות את התצורה כדי לאפשר לשרת המרוחק גישה לשרת Memcached.
הגדרת גישה מרחוק עבור שרת Memcached
Memcached פגיע להתקפות DDoS (Distributed Denial of Service). כלל חומת אש שגוי ויציאות UDP פתוחות ישאירו את השרת פתוח ופגיע להתקפות DDoS.
כדי להפחית את הסיכון, אנו יכולים להשבית את פרוטוקול UDP עבור Memcached בתצורה או להגדיר חומת אש רק כדי לאפשר שרתים מהימנים.
מחוץ לקופסה, אובונטו נשלחת ללא יציאות TCP או UDP פתוחות. יתר על כן, דמון חומת האש ufw
(חומת אש לא מסובכת) אינה מופעלת כברירת מחדל.
אנו הולכים להפעיל את חומת האש ולהגדיר את תצורת Memcached כך שנוכל לצמצם את הפגיעות של DDoS.
ראשית, הפעל את ufw
על ידי הפעלת הפקודה הבאה:
sudo systemctl אפשר את ufw
ואז התחל את ufw
שירות על ידי הפעלת הפקודה הבאה:
sudo systemctl התחל את ufw
כאשר חומת האש פועלת, נוכל סוף סוף להגדיר את כללי חומת האש. ראשית, הפעל את יציאה 22 כדי לאפשר חיבורי SSH. יש צורך ב-SSH כדי לגשת מרחוק לשרת הרצוי.
sudo ufw allow 22
שנית, אתה צריך לדעת את כתובת ה-IP של הלקוח, כלומר מארח יישום האינטרנט וכתובת ה-IP של השרת, כלומר שרת ה-Memcached.
במקרה זה, הבה נניח שה-IP של הלקוח הוא 192.168.0.4
ו-Memcached שרת IP להיות 192.168.0.5
ברשת מקומית.
אז כדי לאפשר גישה מרחוק של שרת memcached לשרת לקוח, הפעל:
sudo ufw אפשר מ-192.168.0.4 לכל יציאה 11211
החלף את ה 192.168.0.4
עם כתובת ה-IP של הלקוח הרצויה.
לאחר מכן, ערוך את קובץ התצורה של Memcached שנמצא ב /etc/memcached.conf
על ידי ריצה ננו
פקודה.
sudo nano /etc/memcached.conf
ה memcached.conf
קובץ התצורה ייפתח עם עורך הננו, חפש את ה -l 127.0.0.1
שורה בתצורה והחלפה 127.0.0.1
עם ה-Memcached Server IP שלך או במקרה זה 192.168.0.5
.
לאחר החלפת עיתונות ctrl+o
כדי לכתוב לקובץ התצורה וללחוץ על אנטר, הקש ctrl+x
לצאת ננו.
הפעל מחדש את שרת Memcached ו ufw
חומת אש על ידי הפעלת הפקודה למטה.
sudo systemctl הפעל מחדש את memcached ufw
כעת סיימנו עם ההתקנה וההגדרה של שרת Memcached ב-Ubuntu 20.04.
מתחבר לשרת Memcached
כדי להשתמש בשרת Memcached, תצטרך להתקין לקוח ספציפי לשפה. למרבה המזל, ל-Memcached יש תמיכה בשפות פופולריות רבות.
אז תן לנו לראות איך להתקין php
ו פִּיתוֹן
לקוח עבור Memcached.
PHP היא שפת הסקריפט הפופולרית ביותר בצד השרת ו-Memcached משמשת בעיקר מפתחי אינטרנט כדי לשפר את ביצועי השרת של אפליקציות אינטרנט המופעלות על ידי PHP.
כדי להתקין תמיכת memcached ב-php, לָרוּץ:
sudo apt להתקין php-memcached
גם לפייתון יש מספר ספריות שיכולות לעבוד ולקיים אינטראקציה עם שרת Memcached כגון pymemcached
אוֹ פיתון-memcached
.
אתה יכול להתקין memcached עבור python על ידי הפעלת פקודות ה-pip הבאות:
pip להתקין pymemcache
pip להתקין python-memcached
לסיכום, בדקנו את ההתקנה, התצורה וכמה לקוחות ספציפיים לשפה של Memcached באובונטו 20.04.
כדי לדעת שימוש גס ומתקדם יותר ב-Memcached, עיין ב-Memcached Wiki.