آرٹیکل ڈائرکٹری
ہیسٹیا سی پی سرور CPU اضافہ؟ PHP-FPM عمل کو بہتر بنانے کے لیے ایک مکمل گائیڈ!

کیا سرور CPU ہمیشہ 100% پر ہوتا ہے؟ کیا پنکھا گھوم رہا ہے؟ کیا ویب سائٹ کھولنے کی رفتار کم ہو رہی ہے؟مجرم php-fpm ہو سکتا ہے!
میں نے حال ہی میں دریافت کیا۔ chenweiliang.com یہ پی ایچ پی پول php-fpm اس عمل نے سی پی یو کو پاگلوں کی طرح کھا لیا، اور سرور کریش ہو گیا!
سرور کو بحال کرنے کے لیے، میں نے اصلاحی طریقوں کا ایک سلسلہ آزمایا اور آخر کار CPU کے استعمال کو کم کرنے میں کامیاب ہو گیا۔
اب، آئیے اس کا اشتراک کریں۔ موثر آپٹیمائزیشن گائیڈ!🚀
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 کے ذریعہ ترتیب دیا گیا پی ایچ پی ورژن سے استفسار کریں۔
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
اس کا مطلب یہ ہے کہ سائٹ استعمال کرتی ہے۔ پی ایچ پی کی 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 کی کارکردگی کو بہتر بنانے کے لیے)
پی ایچ پی ہر بار جب کوڈ پر عمل درآمد ہوتا ہے تو اسے دوبارہ تیار کرتا ہے، جو کہ وسائل کا ضیاع ہے۔
حل؟ OPCache کو فعال کریں اور اپنے پی ایچ پی کوڈ کو کیش کریں!
编辑 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 # 禁用实时检测,提高性能
محفوظ کرنے کے بعد، پی ایچ پی کے عمل کو دوبارہ شروع کریں:
sudo systemctl restart php8.3-fpm
✅ اثر: پی ایچ پی کوڈ کی بار بار تجزیہ کو کم کریں، سی پی یو کا بوجھ کم کریں، اور عملدرآمد کی کارکردگی کو بہتر بنائیں۔
3. پی ایچ پی اسکرپٹس کے زیادہ سے زیادہ عملدرآمد کے وقت کو محدود کریں۔
اگر پی ایچ پی کی اسکرپٹ بہت لمبے عرصے تک چلتی ہے تو، سی پی یو کے وسائل پر مسلسل قبضہ کیا جائے گا۔
ایک معقول ٹائم آؤٹ مدت کا تعین کرنا "ضدی" عمل کو سرور پر طویل عرصے تک قبضہ کرنے سے روک سکتا ہے۔
آن کر دو 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
✅ اثر: پی ایچ پی کے عمل کو طویل عرصے تک چلنے سے روکیں اور سی پی یو کے وسائل کے ضیاع کو کم کریں۔
4. چیک کریں۔ MySQL سست استفسار
PHP-FPM میں زیادہ بوجھ ہے،یہ سست SQL استفسار کی وجہ سے ہوسکتا ہے!
آن کر دو MySQL سست استفسار لاگ، ایس کیو ایل کے بیانات کو تلاش کریں جو روکے ہوئے ہیں۔
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. Memcached وسائل کے استعمال کو محدود کریں۔
عمل کی فہرست کو دیکھ کر، میں نے پایا Memcached پروسیس CPU کا استعمال 24.8% ہے!
یہ ہو سکتا ہے کہ کیش ایلوکیشن بہت زیادہ ہو، جس کی وجہ سے CPU ڈیٹا کی ایک بڑی مقدار پر کارروائی کر رہا ہے۔
调整 memcached ترتیب:
sudo nano /etc/memcached.conf
نظر ثانی کریں:
-m 32 # 限制 Memcached 内存使用 32MB
پھر دوبارہ شروع کریں:
sudo systemctl restart memcached
✅ اثر: Memcached عمل کے CPU بوجھ کو کم کریں اور کیش کی کارکردگی کو بہتر بنائیں۔
6. جامد وسائل کو کیش کرنے کے لیے Nginx کو فعال کریں۔
کئی بار، پی ایچ پی ان درخواستوں پر کارروائی کرتا ہے جن میں بہت زیادہ تعداد ہوتی ہے۔ سی ایس ایس، جے ایس، تصاویر، لیکن ان فائلوں کو پی ایچ پی کی تجزیہ کی ضرورت نہیں ہے!
حل؟ جامد وسائل کو کیش کرنے کے لیے Nginx کا استعمال کریں!
Nginx ترتیب میں ترمیم کریں:
sudo nano /etc/nginx/nginx.conf
添加:
location ~* \.(jpg|jpeg|png|gif|css|js|ico|xml)$ {
expires max;
log_not_found off;
}
محفوظ کرنے کے بعد، Nginx کو دوبارہ شروع کریں:
sudo systemctl restart nginx
✅ اثر: پی ایچ پی کے جامد فائلوں پر کارروائی کرنے کی تعداد کو کم کریں اور سی پی یو کے استعمال کو کم کریں۔
7. سب سے زیادہ CPU استعمال کرنے والی PHP اسکرپٹ تلاش کریں۔
اگر اصلاح کے بعد بھی CPU بہت زیادہ ہے، تو یہ ہو سکتا ہے کہ کچھ PHP اسکرپٹس وحشیانہ طریقے سے چل رہے ہوں۔
سب سے زیادہ CPU استعمال کے ساتھ پی ایچ پی کے عمل کو تلاش کرنے کے لیے درج ذیل کمانڈ کا استعمال کریں:
ps -eo pid,user,pcpu,pmem,args --sort=-pcpu | grep php
اگر آپ کو معلوم ہوتا ہے کہ پی ایچ پی اسکرپٹ بہت زیادہ سی پی یو لے رہی ہے، تو آپ اسے براہ راست مار سکتے ہیں:
kill -9 PID
✅ اثر:درست طریقے سے "خراب سیبوں" کی شناخت کریں اور پی ایچ پی کے عمل کو طویل عرصے تک CPU پر قبضہ کرنے سے روکیں۔
خلاصہ: PHP-FPM کو بہتر بنانے کے 7 طریقے
✅ PHP-FPM عمل کی تعداد کو محدود کریں۔، CPU اوورلوڈ کو روکنے کے لیے
✅ OPCache کو فعال کریں۔پی ایچ پی کوڈ کی بار بار تجزیہ کو کم کریں۔
✅ پی ایچ پی کا ٹائم آؤٹ سیٹ کرنا، طویل مدتی آپریشن کو روکنے کے لئے
✅ MySQL سست سوالات کی جانچ کر رہا ہے۔ڈیٹا بیس استفسار کی کارکردگی کو بہتر بنائیں
✅ Memcached میموری کو ایڈجسٹ کریں۔، CPU بوجھ کو کم کرنا
✅ Nginx جامد کیشے کو فعال کریں۔، پی ایچ پی کی تجزیہ کے بوجھ کو کم کرنا
✅ اعلی سی پی یو استعمال کرنے والی پی ایچ پی اسکرپٹس تلاش کریں۔، عین مطابق اصلاح
آخر میں
سرور کی اصلاح فٹنس کی طرح ہے، آپ کو درست ایڈجسٹمنٹ کرنے کی ضرورت ہے اور گڑبڑ نہ کریں!
اصلاح کی ایک سیریز کے بعد، میرے سرور CPU لوڈ سے گرا ہے۔ 80% کم ہو کر 15%، ویب سائٹ دو گنا تیزی سے کھلتی ہے!
اگر آپ کے سرور میں بھی اسی طرح کے مسائل ہیں تو ان طریقوں کو آزمائیں! 💪
؟؟؟؟ ابھی ایکشن لیں! اپنے PHP-FPM کو بہتر بنائیں اور اپنے سرور کو محفوظ کریں! 🚀
ہوپ چن ویلیانگ بلاگ ( https://www.chenweiliang.com/ ) نے اشتراک کیا "HestiaCP php-fpm کے عمل میں بہت سارے CPU وسائل لگتے ہیں، اسے کیسے بہتر بنایا جائے؟ ”، یہ آپ کے لیے مددگار ثابت ہو سکتا ہے۔
اس مضمون کا لنک شیئر کرنے میں خوش آمدید:https://www.chenweiliang.com/cwl-32490.html
