آرٽيڪل ڊاريڪٽري
HestiaCP سرور سي پي يو اسپائڪس؟ PHP-FPM عمل جي اصلاح لاءِ هڪ مڪمل گائيڊ!

ڇا توهان جو سرور سي پي يو مسلسل 100٪ تي آهي؟ ڇا مداح پاگل وانگر گھمي رهيا آهن؟ ڇا توهان جي ويب سائيٽ سست لوڊ ٿي رهي آهي؟ مجرم شايد php-fpm هجي!
مون تازو دريافت ڪيو آهي chenweiliang.com هي پي ايڇ پي پول php-fpm اهو عمل سي پي يو کي چريو ڪري ڇڏيو، ۽ سرور ڪريش ٿي ويو!
سرور کي بحال ڪرڻ لاءِ، مون اصلاح جي طريقن جو هڪ سلسلو آزمايو ۽ آخرڪار سي پي يو جي استعمال کي گهٽائڻ ۾ ڪامياب ٿيس.
هاڻي، اچو ته هي ڪارآمد اصلاحي گائيڊ شيئر ڪريون ! 🚀
1. 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
HestiaCP پاران سيٽ ڪيل PHP ورجن بابت سوال ڪريو
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 وسيلن جي تمام گهڻي استعمال کان روڪڻ لاءِ عملن جي تعداد کي محدود ڪري ٿو.
2. 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
✅اثر : پي ايڇ پي ڪوڊ جي بار بار پارسنگ کي گھٽائي ٿو، سي پي يو لوڊ گھٽائي ٿو، ۽ عملدرآمد جي ڪارڪردگي کي بهتر بڻائي ٿو.
3. 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 进程的内存占用
پوءِ پي ايڇ پي جي عمل کي ٻيهر شروع ڪريو:
sudo systemctl restart php-fpm
✅اثر : PHP عملن کي ڊگهي عرصي تائين هلڻ کان روڪي ٿو، CPU وسيلن جي ضايع ٿيڻ کي گهٽائي ٿو.
4. چيڪ ڪريو هن MySQL سست سوال
PHP-FPM ۾ لوڊ تمام گهڻو آهي،اهو شايد سست SQL سوال جي ڪري هجي!
هلايو هن MySQL سست سوال لاگ، 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 لوڊ گھٽايو.
5. پابنديون ڳايل وسيلن جو استعمال
عمل جي فهرست کي ڏسندي، مون ڏٺو ميم ڪيش ٿيل عمل ۾ سي پي يو جو استعمال 24.8٪ آهي!
اهو ٿي سگهي ٿو ته ڪيش مختص ڪرڻ تمام وڏو هجي، جنهن جي ڪري سي پي يو وڏي مقدار ۾ ڊيٽا پروسيس ڪري.
ترتيب ڏيڻ memcached ٺاھ جوڙ:
sudo nano /etc/memcached.conf
نظرثاني:
-m 32 # 限制 Memcached 内存使用 32MB
پوءِ ريبوٽ ڪريو:
sudo systemctl restart memcached
✅اثر : ميم ڪيش ٿيل عمل تي سي پي يو لوڊ گھٽائي ٿو ۽ ڪيشنگ جي ڪارڪردگي کي بهتر بڻائي ٿو.
6. جامد وسيلن کي ڪيش ڪرڻ لاءِ Nginx کي فعال ڪريو
ڪيترائي ڀيرا، PHP درخواستن تي عمل ڪري ٿو جن ۾ وڏي تعداد ۾ سي ايس ايس، جي ايس، تصويرون، پر انهن فائلن کي PHP پارسنگ جي بلڪل به ضرورت ناهي!
حل؟ جامد وسيلن کي ڪيش ڪرڻ لاءِ Nginx استعمال ڪريو!
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 جو استعمال گھٽجي ٿو.
7. پي ايڇ پي اسڪرپٽ ڳوليو جيڪو سڀ کان وڌيڪ سي پي يو استعمال ڪري ٿو
جيڪڏهن اصلاح کان پوءِ به سي پي يو تمام گهڻو آهي، ته اهو ٿي سگهي ٿو ته ڪجهه پي ايڇ پي اسڪرپٽ جهنگلي طور تي هلي رهيا هجن.
سڀ کان وڌيڪ سي پي يو استعمال سان پي ايڇ پي جي عمل کي ڳولڻ لاءِ هيٺ ڏنل حڪم استعمال ڪريو:
ps -eo pid,user,pcpu,pmem,args --sort=-pcpu | grep php
جيڪڏهن توهان کي خبر پوي ته هڪ PHP اسڪرپٽ تمام گهڻو CPU وٺي رهيو آهي، ته توهان ان کي سڌو سنئون ختم ڪري سگهو ٿا:
kill -9 PID
✅ نتيجو : "خراب ايپل" جي صحيح سڃاڻپ ڪري ٿو ۽ PHP عملن کي ڊگهي عرصي تائين CPU تي قبضو ڪرڻ کان روڪي ٿو.
خلاصو: PHP-FPM کي بهتر ڪرڻ جا 7 طريقا
✅ PHP-FPM عملن جي تعداد کي محدود ڪريو، سي پي يو اوورلوڊ کي روڪڻ لاءِ
✅ OPCache کي فعال ڪريو، پي ايڇ پي ڪوڊ جي بار بار پارسنگ کي گهٽايو
✅ PHP ٽائم آئوٽ سيٽنگڊگهي مدت جي آپريشن کي روڪڻ لاءِ
✅ MySQL سست سوالن جي جانچ ڪنديڊيٽابيس سوال جي ڪارڪردگي کي بهتر بڻايو
✅ ميم ڪيش ٿيل ميموري کي ترتيب ڏيو، سي پي يو جي بار کي گهٽائڻ
✅ Nginx جامد ڪيش کي فعال ڪريو، پي ايڇ پي پارسنگ بار کي گهٽائڻ
✅ وڌيڪ سي پي يو استعمال ڪندڙ پي ايڇ پي اسڪرپٽ ڳوليو، صحيح اصلاح
نتيجي ۾
سرور آپٽمائيزيشن فٽنيس وانگر آهي، توهان کي صحيح ترتيب ڏيڻ جي ضرورت آهي ۽ گڙٻڙ نه ڪريو!
اصلاحن جي هڪ سلسلي کان پوءِ، منهنجي سرور جي سي پي يو لوڊ گهٽجي ويو آهي 80٪ گهٽجي 15٪ تائين، ويب سائيٽ ٻيڻي تيزي سان کلي ٿي!
جيڪڏهن توهان جي سرور ۾ ساڳيا مسئلا آهن، ته پوءِ انهن طريقن کي آزمايو! 💪
👉هاڻي ڪارروائي ڪريو! پنهنجي PHP-FPM کي بهتر بڻايو ۽ پنهنجي سرور کي بچايو! 🚀
اميد آهي ته، مضمون "HestiaCP php-fpm عمل تمام گهڻو CPU وسيلن کي استعمال ڪري ٿو، ان کي ڪيئن بهتر بڻايو وڃي؟" چن ويليانگ جي بلاگ ( https://www.chenweiliang.com/ ) تي شيئر ڪيو ويو آهي جيڪو توهان لاءِ مددگار ثابت ٿيندو.
هن مضمون جي لنڪ شيئر ڪرڻ لاءِ آزاد محسوس ڪريو: https://www.chenweiliang.com/cwl-32490.html
