مقالې لارښود
د هیسټیا سی پی سرور CPU لوړیږي؟ د PHP-FPM پروسې اصلاح کولو لپاره بشپړ لارښود!

آیا ستاسو د سرور CPU په دوامداره توګه په ۱۰۰٪ کې دی؟ ایا مینه وال د لیونۍ په څیر ګرځي؟ ایا ستاسو ویب پاڼه ورو ورو پورته کیږي؟ مجرم ممکن php-fpm وي!
ما پدې وروستیو کې وموندله chenweiliang.com دا د PHP حوض php-fpm دې پروسې CPU د لیوني په څیر وخوړ، او سرور یې خراب شو!
د سرور د بیا ژوندي کولو لپاره، ما د اصلاح کولو یو لړ طریقې هڅه وکړه او بالاخره د CPU کارولو کمولو کې بریالی شوم.
اوس، راځئ چې دا د ګټور اصلاح کولو لارښود شریک کړو ! 🚀
۱. د php-fpm پروسو شمیر محدود کړئ
د php-fpm ډیفالټ ترتیبات ممکن د لامحدود شمیر پروسې رامینځته کړي، چې د سرور CPU ډیر بار لامل کیږي.
د دې د اصلاح کولو لپاره، موږ کولی شو د پروسې مدیریت پیرامیټرې تعدیل کړو.
چالانول php-fpm د ترتیب فایلونه:
sudo nano /etc/php/*/fpm/pool.d/www.conf
- *خپل د PHP نسخه، لکه PHP8.3، ته بدل کړئ، او دا یې بدل کړئ:
/etc/php/8.3/fpm/pool.d/www.conf
د هیسټیا سی پی لخوا ټاکل شوی د پی ایچ پی نسخه پوښتنه وکړئ
v-list-web-domain user domain.com
د مثال په توګه:
v-list-web-domain abc chenweiliang.com
په محصول کې، تاسو به داسې یو څه وګورئ:
PHP SUPPORT yes
PHP MODE php-fpm
PHP VERSION 8.3
دا په ګوته کوي چې ویب پاڼه د PHP 8.3 کاروي.
لاندې پیرامیټونه ومومئ او تعدیل کړئ:
pm = dynamic
pm.max_children = 16 ; 根据服务器资源调整,建议值:CPU 核心数 × 2
pm.start_servers = 4 ; 初始进程数,建议设为 max_children × 25%
pm.min_spare_servers = 2 ; 最小空闲进程数
pm.max_spare_servers = 7 ; 最大空闲进程数
pm.max_requests = 3000 ; 每个子进程处理完 3000 个请求后自动重启
pm.process_idle_timeout = 10s ; 空闲进程 10s 后自动退出
بیا ریبوټ کړئ php-fpm د دې د اغیزمن کولو لپاره:
sudo systemctl restart php-fpm
✅اغېز : د پروسو شمېر محدودوي ترڅو د php-fpm د CPU سرچینو د ډیر مصرف مخه ونیسي.
۲. د OPCache فعالول (د PHP فعالیت ښه کولو لپاره)
PHP هر ځل چې اجرا کیږي کوډ بیا تجزیه کوي، کوم چې د سرچینو ضایع کول دي.
د حل لاره؟ OPCache فعال کړئ او خپل PHP کوډ کیش کړئ!
编辑 php.ini سند:
sudo nano /etc/php/*/fpm/php.ini
لاندې اضافه کړئ یا تعدیل کړئ:
opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=10000
opcache.validate_timestamps=0 # 禁用实时检测,提高性能
د خوندي کولو وروسته، د PHP پروسه بیا پیل کړئ:
sudo systemctl restart php8.3-fpm
✅اغېز : د PHP کوډ تکراري تحلیل کموي، د CPU بار کموي، او د اجرا موثریت ښه کوي.
۳. د PHP سکریپټونو اعظمي اجرا کولو وخت محدود کړئ
که چیرې د PHP سکریپټ ډیر اوږد دوام وکړي، د CPU سرچینې به په دوامداره توګه بوختې وي.
د مناسب وخت پای ټاکل کولی شي د "ضد" پروسو مخه ونیسي چې د اوږدې مودې لپاره سرور ونیسي.
چالانول php.ini سند:
sudo nano /etc/php/*/fpm/php.ini
لاندې پیرامیټونه بدل کړئ:
max_execution_time = 30 # PHP 脚本最多执行 30 秒
max_input_time = 30 # 处理输入数据最多 30 秒
memory_limit = 256M # 限制单个 PHP 进程的内存占用
بیا د PHP پروسه بیا پیل کړئ:
sudo systemctl restart php-fpm
✅اغېز : د PHP پروسې د اوږدې مودې لپاره د چلولو مخه نیسي، د CPU سرچینو ضایعات کموي.
4. چک کول مای ورو پوښتنه
PHP-FPM لوړ بار لري،دا ممکن د ورو SQL پوښتنې له امله وي!
چالانول مای ورو پوښتنې لاګ، د SQL بیانات ومومئ چې شاته پاتې دي.
د MySQL ترتیب فایل سم کړئ:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
اضافه کول:
slow_query_log = 1
slow_query_log_file = /var/log/mysql-slow.log
long_query_time = 1 # 超过 1 秒的查询会被记录
د خوندي کولو وروسته، MySQL بیا پیل کړئ:
sudo systemctl restart mysql
بیا یې وکاروئ mysqldumpslow ورو پوښتنې تحلیل کړئ:
mysqldumpslow -s c -t 10 /var/log/mysql-slow.log
✅پایله : د وخت ضایع کونکي SQL پوښتنې وپیژنئ، د ډیټابیس فعالیت غوره کړئ، او په غیر مستقیم ډول د PHP بار کم کړئ.
۵. محدودیتونه یاد شوی د سرچینو کارول
د پروسې لیست ته په کتلو سره، ما وموندله چې د میم کیچ شوي پروسې CPU کارول 24.8٪ دي!
دا ممکن وي چې د کیش تخصیص ډیر لوی وي، چې د CPU د ډیرو معلوماتو پروسس کولو لامل کیږي.
سمول memcached ترتیب:
sudo nano /etc/memcached.conf
بیا کتنه:
-m 32 # 限制 Memcached 内存使用 32MB
بیا ریبوټ کړئ:
sudo systemctl restart memcached
✅اغېز : د میم کیچ شوي پروسې په CPU بار کموي او د کیچ کولو موثریت ښه کوي.
۶. د جامد سرچینو د کیش کولو لپاره Nginx فعال کړئ
ډیری وختونه، PHP هغه غوښتنې پروسس کوي چې لوی شمیر لري سي ایس ایس، جي ایس، انځورونه، مګر دا فایلونه په هیڅ ډول د PHP تجزیې ته اړتیا نلري!
د حل لاره؟ د جامد سرچینو د ساتلو لپاره Nginx وکاروئ!
د نګینکس ترتیب سم کړئ:
sudo nano /etc/nginx/nginx.conf
اضافه کول:
location ~* \.(jpg|jpeg|png|gif|css|js|ico|xml)$ {
expires max;
log_not_found off;
}
د خوندي کولو وروسته، نګینکس بیا پیل کړئ:
sudo systemctl restart nginx
✅ پایله : د PHP لخوا د جامد فایلونو پروسس کولو شمیر کموي، په دې توګه د CPU کارول کموي.
۷. هغه PHP سکریپټ ومومئ چې تر ټولو ډیر CPU کاروي
که چیرې د اصلاح کولو وروسته CPU لاهم ډیر لوړ وي، نو دا ممکن وي چې ځینې PHP سکریپټونه په وحشي ډول روان وي.
د PHP پروسې د لوړ CPU کارولو موندلو لپاره لاندې کمانډ وکاروئ:
ps -eo pid,user,pcpu,pmem,args --sort=-pcpu | grep php
که تاسو ومومئ چې د PHP سکریپټ ډیر CPU نیسي، تاسو کولی شئ دا مستقیم له منځه یوسئ:
kill -9 PID
✅ پایله : په سمه توګه "خراب مڼې" پیژني او د PHP پروسې د اوږدې مودې لپاره د CPU اشغال کولو څخه مخنیوی کوي.
لنډیز: د PHP-FPM اصلاح کولو لپاره ۷ لارې
✅ د PHP-FPM پروسو شمیر محدود کړئد CPU د ډیر بار مخنیوي لپاره
✅ OPCache فعال کړئد PHP کوډ تکراري تجزیه کم کړئ
✅ د PHP وخت پای تنظیم کولد اوږدې مودې عملیاتو مخنیوي لپاره
✅ د MySQL ورو پوښتنو چک کول، د ډیټابیس پوښتنو فعالیت غوره کړئ
✅ د یاد شوي حافظې تنظیم کول، د CPU بار کمول
✅ د نګینکس جامد کیچ فعال کړئ، د PHP تجزیه کولو بار کمول
✅ د لوړ CPU کارونې PHP سکریپټونه ومومئ، دقیق اصلاح کول
په پای کښې
د سرور اصلاح کول د فټنس په څیر دي، تاسو اړتیا لرئ چې دقیق سمونونه وکړئ او ګډوډ مه کوئ!
د یو لړ اصلاح کولو وروسته، زما د سرور CPU بار له ۸۰٪ تر ۱۵٪ پورې، ویب پاڼه دوه چنده چټکه خلاصیږي!
که ستاسو سرور ورته ستونزې ولري، نو دا طریقې هڅه وکړئ! 💪
👉اوس اقدام وکړئ! خپل PHP-FPM غوره کړئ او خپل سرور خوندي کړئ! 🚀
هیله ده، مقاله "د HestiaCP php-fpm پروسه د CPU ډیرې سرچینې مصرفوي، څنګه یې اصلاح کړو؟" د چن ویلیانګ په بلاګ ( https://www.chenweiliang.com/ ) کې شریکه شوې ستاسو لپاره به ګټوره وي.
د دې مقالې لینک شریکولو لپاره وړیا احساس وکړئ: https://www.chenweiliang.com/cwl-32490.html
