מדריך מאמרים
מהירות היא החיים; אם אתר אינטרנט אפילו בשבריר שנייה מאחור, המשתמשים יסתובבו ויעזבו.
זו הסיבה HestiaCP אופטימיזציה של OPcache היא קריטית להצלחה או לכישלון של כל אתר אינטרנט שמסתמך על PHP.
מה זה OPcache?
OPcache הוא מנוע אחסון במטמון של קוד בייט מובנה ב-PHP.
תפקידו פשוט: אחסון במטמון של סקריפט ה-PHP שהקומפילציה בוצעה בזיכרון, וקריאה ישירה למטמון בעת גישה חוזרת אליו, במקום לקמפל אותו מחדש.
זה משפר את מהירות התגובה של האתר, מפחית את עומס המעבד ומקל באופן מיידי על העומס על השרת.
לפי התיעוד הרשמי של PHP:
"OPcache מספק שיפורי ביצועים משמעותיים על ידי צמצום זמן הביצוע על ידי מניעת כפילויות של קומפילציית סקריפטים."
בקיצור: OPcache הוא מאיץ PHP.
למה לבצע אופטימיזציה של OPcache ב-HestiaCP?

HestiaCP הוא לוח בקרה קל משקל שאנשים רבים משתמשים בו לניהול VPS או שרתים ייעודיים.
OPcache מופעל כברירת מחדל, אך הפרמטרים לרוב שמרניים.
ללא התאמות, שיפור הביצועים יהיה מוגבל.
לדוגמה:
בשרת עם 4 ליבות ו-8GB של זיכרון, זיכרון ה-OPcache המוגדר כברירת מחדל הוא 64MB בלבד, ומספר הקבצים המאוחסנים במטמון הוא רק 4000.
זה מיועד לגודל בינוני וורדפרס בשביל אתר אינטרנט, זה פשוט לא מספיק.
התוצאה היא שהמטמון מנוקה כל הזמן, מה שגורם לתנודות חוזרות ונשנות בביצועים.
בדוק את מצב ה-OPcache הנוכחי
הפעל את הפקודה הבאה:
php -i | grep opcache.enable
תראו תוצאות דומות ל:
- opcache.enable => מופעל: משמעות הדבר היא ש-OPcache מופעל ב-PHP-FPM.
- opcache.enable_cli => כבוי: לא מופעל במצב שורת פקודה.
- opcache.enable_file_override => כבוי: פונקציונליות עקיפת הקבצים אינה מופעלת.
משמעות הדבר היא שלמרות ש-OPcache כבר עובד, עדיין יש מקום לאופטימיזציה.
עריכת קבצי תצורה של PHP
ב-HestiaCP, נתיב קובץ התצורה של PHP הוא בדרך כלל:
/etc/php/8.x/fpm/php.ini
כדי להפעיל מצב CLI:
/etc/php/8.x/cli/php.ini
אתר את הקטע [opcache] והוסף או שנה את הפרמטרים הבאים:
[opcache] ; 启用 OPcache opcache.enable=1 opcache.enable_cli=1 ; 内存与缓存设置 opcache.memory_consumption=256 opcache.interned_strings_buffer=16 opcache.max_accelerated_files=10000 ; 文件更新检测 opcache.validate_timestamps=0 opcache.revalidate_freq=60 ; 其他优化参数 opcache.save_comments=1 opcache.fast_shutdown=1 opcache.enable_file_override=1
פרטי פרמטרים ולוגיקת אופטימיזציה
opcache.memory_consumption=256
הקצאת 256MB של זיכרון ל-OPcache מתאימה לאתרים בינוניים עד גדולים.
עבור אתרים קטנים, ניתן להגדיר אותו ל-128MB.opcache.interned_strings_buffer=16
מספק מטמון מחרוזות של 16MB כדי להפחית את השימוש במחרוזות כפולות.opcache.max_accelerated_files=10000
מומלץ שמספר הקבצים המאוחסנים במטמון יהיה לפחות 10000 בסביבת וורדפרס + תוספים.opcache.revalidate_freq=60
קבצים נבדקים לאיתור עדכונים כל 60 שניות כדי להפחית את צריכת הקלט/פלט התכופה.opcache.enable_cli=1
הפעלת אחסון במטמון של ממשק שורת פקודה (CLI) מתאימה להפעלת כלי שורת פקודה כגון Artisan ו-WP-CLI.opcache.enable_file_override=1
אפשר ל-OPcache להשתלט על מטמון מערכת הקבצים, ובכך להפחית עוד יותר את הגישה לדיסק.- opcache.validate_timestamps=0
- השבתת זיהוי בזמן אמתצמצום קלט/פלט של מערכת הקבצים ושיפור הביצועים.
עם זאת, משמעות הדבר היא שעליך לנקות את המטמון באופן ידני (להפעיל מחדש את שירות ה-PHP) לאחר שינוי קבצי PHP.
לאחר שינוי התצורה, עליך להפעיל מחדש את שירות ה-PHP כדי שהשינויים ייכנסו לתוקף.
sudo systemctl restart php<版本>-fpmהשילוב של פרמטרים אלה מאפשר לאתר להישאר יציב גם תחת מקביליות גבוהה.
הפעל מחדש את שירות PHP-FPM
לאחר ביצוע השינויים, זכרו להפעיל מחדש את השירות:
sudo systemctl restart php8.x-fpm
לאחר מכן הפעל אותו שוב:
php -i | grep opcache
אושר כי הפרמטרים מעודכנים.
שיטות עבודה מומלצות בסביבות ייצור
בסביבות ייצור, אופטימיזציית OPcache כרוכה ביותר מכוונון פרמטרים בלבד; היא כוללת גם את האסטרטגיות הבאות:
1. נקה את המטמון במהלך הפריסה
לאחר כל עדכון קוד, יש לנקות את ה-OPcache; אחרת, גרסה ישנה יותר עלולה להיטען.
ניתן להוסיף את הדברים הבאים לסקריפט CI/CD:
<?php opcache_reset();
לחלופין, בצע זאת בתוך תהליך הפריסה:
systemctl reload php8.x-fpm
2. הימנעו מניקוי תכוף
ניקוי מטמון תכוף מדי עלול להוביל לפגיעה בביצועים.
מומלץ לנקות רק כאשר הקוד מתעדכן, ולא לנקות אותו במרווחי זמן קבועים.
3. ניטור השימוש ב-OPcache.
ניתן לבדוק את קצב הפגיעה במטמון בזמן אמת באמצעות `php -i | grep opcache` או על ידי התקנת התוסף Opcache Control Panel.
שיעור פגיעה של מעל 95% מצביע על תצורה סבירה.
לפי מבחני הביצועים הרשמיים של Zend, הפעלת OPcache יכולה לשפר את מהירות ביצוע סקריפט PHP עד פי 3 ולהפחית את ניצול המעבד ב-50%.
זו לא איזושהי תיאוריה מיסטית; אלו נתונים מוצקים.
סיכום: נקודות המבט שלי וציטוטים מרכזיים
לדעתי, OPcache הוא כמו "מגדש טורבו" לאתר אינטרנט. בלעדיו, PHP הוא כמו מכונית בלי מגדש טורבו, שנוסע לאט ומבזבז דלק.
אופטימיזציה של OPcache אינה רק פרט טכני, אלא גם בחירה אסטרטגית לתפעול אתר אינטרנט.
כי מהירות שווה שיעור המרה, וביצועים שווים תחרותיות.
ציטוט מרכזי: עתידו של אתר אינטרנט אינו טמון בכמה קוד מפואר הוא, אלא במהירות שבה הוא יכול להגיב כל כך מהר שלמשתמשים אפילו אין זמן למצמץ.
לכן, הפסיקו לתת לשרתים לבזבז משאבים בלולאות לא יעילות.
בצע אופטימיזציה של ה-OPcache של HestiaCP עכשיו ותן לאתר שלך לטפס.
האם אתה רוצה שאכתוב תבנית תצורה הטובה מסוגה של OPcache עבור סביבת הייצור שלך, שתוכל לאחר מכן להעתיק ישירות ולהשתמש בה ב-php.ini?
Hope Chen Weiliang בלוג ( https://www.chenweiliang.com/ המאמר "כיצד לבצע אופטימיזציה של OPcache ב-HestiaCP? אחסון במטמון של קוד הפעלה וקומפילציה של קוד PHP כדי לגרום לאתר שלך לזנק" המוצג כאן עשוי להיות מועיל עבורך.
מוזמנים לשתף את הקישור של מאמר זה:https://www.chenweiliang.com/cwl-34197.html
