ஹெஸ்டியாசிபி சர்வர் CPU அதிகரிப்பு? PHP-FPM செயல்முறையை மேம்படுத்துவதற்கான முழுமையான வழிகாட்டி!

சர்வர் CPU எப்போதும் 100% இல் இருக்கிறதா? மின்விசிறி வேகமாகச் சுழல்கிறதா? வலைத்தளம் திறக்கும் வேகம் குறைகிறதா?குற்றவாளி php-fpm ஆக இருக்கலாம்!
நான் சமீபத்தில் கண்டுபிடித்தேன் chenweiliang.com இந்த PHP குளம் php-fpm இந்த செயல்முறை CPU-வை வெறித்தனமாக விழுங்கியது, சர்வர் செயலிழந்தது!
சேவையகத்தை புதுப்பிக்க, நான் தொடர்ச்சியான தேர்வுமுறை முறைகளை முயற்சித்தேன், இறுதியாக 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 ஆல் அமைக்கப்பட்ட 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
✅ விளைவு: PHP குறியீட்டை மீண்டும் மீண்டும் பாகுபடுத்துவதைக் குறைத்தல், CPU சுமையைக் குறைத்தல் மற்றும் செயல்படுத்தல் செயல்திறனை மேம்படுத்துதல்.
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 进程的内存占用
பின்னர் 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. மெம்கேச் செய்யப்பட்ட வள பயன்பாட்டை வரம்பிடவும்
செயல்முறை பட்டியலைப் பார்த்தபோது, நான் கண்டேன் மெம்கேச் செய்யப்பட்ட செயல்முறை CPU பயன்பாடு 24.8%!
கேச் ஒதுக்கீடு மிக அதிகமாக இருப்பதால், CPU அதிக அளவு தரவை செயலாக்க வேண்டியிருக்கலாம்.
சரிசெய்தல் memcached கட்டமைப்பு:
sudo nano /etc/memcached.conf
திருத்தம்:
-m 32 # 限制 Memcached 内存使用 32MB
பின்னர் மறுதொடக்கம் செய்யுங்கள்:
sudo systemctl restart memcached
✅ விளைவு: மெம்கேச் செயல்முறையின் CPU சுமையைக் குறைத்து, கேச் செயல்திறனை மேம்படுத்தவும்.
6. நிலையான வளங்களை தற்காலிகமாக சேமிக்க Nginx ஐ இயக்கவும்.
பல நேரங்களில், PHP அதிக எண்ணிக்கையிலான கோரிக்கைகளை செயலாக்குகிறது CSS, JS, படங்கள், ஆனால் இந்தக் கோப்புகளுக்கு PHP பாகுபடுத்தல் தேவையில்லை!
தீர்வு? நிலையான வளங்களை தற்காலிகமாக சேமிக்க 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
✅ விளைவு: PHP நிலையான கோப்புகளை செயலாக்கும் எண்ணிக்கையைக் குறைத்து CPU பயன்பாட்டைக் குறைக்கவும்.
7. அதிக CPU ஐப் பயன்படுத்தும் PHP ஸ்கிரிப்டைக் கண்டறியவும்.
மேம்படுத்தப்பட்ட பிறகும் CPU மிக அதிகமாக இருந்தால், சில PHP ஸ்கிரிப்ட்கள் வேகமாக இயங்குவதாக இருக்கலாம்.
அதிக CPU பயன்பாட்டைக் கொண்ட PHP செயல்முறையைக் கண்டறிய பின்வரும் கட்டளையைப் பயன்படுத்தவும்:
ps -eo pid,user,pcpu,pmem,args --sort=-pcpu | grep php
ஒரு PHP ஸ்கிரிப்ட் அதிக CPU-ஐ எடுத்துக்கொள்வதை நீங்கள் கண்டால், அதை நேரடியாக அழிக்கலாம்:
kill -9 PID
✅ விளைவு: "கெட்ட ஆப்பிள்களை" துல்லியமாக அடையாளம் கண்டு, PHP செயல்முறை நீண்ட காலத்திற்கு CPU-வை ஆக்கிரமிப்பதைத் தடுக்கவும்.
சுருக்கம்: PHP-FPM ஐ மேம்படுத்த 7 வழிகள்.
✅ PHP-FPM செயல்முறைகளின் எண்ணிக்கையை வரம்பிடவும், CPU ஓவர்லோடைத் தடுக்க
✅ OPCache ஐ இயக்கு, PHP குறியீட்டை மீண்டும் மீண்டும் பாகுபடுத்துவதைக் குறைக்கவும்.
✅ PHP காலக்கெடுவை அமைத்தல், நீண்ட கால செயல்பாட்டைத் தடுக்க
✅ MySQL மெதுவான வினவல்களைச் சரிபார்க்கிறது., தரவுத்தள வினவல் செயல்திறனை மேம்படுத்தவும்
✅ மெம்கேச் செய்யப்பட்ட நினைவகத்தை சரிசெய்யவும், CPU சுமையைக் குறைக்கிறது
✅ Nginx நிலையான தற்காலிக சேமிப்பை இயக்கு, PHP பாகுபடுத்தும் சுமையைக் குறைக்கிறது
✅ அதிக CPU பயன்பாட்டு PHP ஸ்கிரிப்ட்களைக் கண்டறியவும்., துல்லியமான தேர்வுமுறை
முடிவில்
சர்வர் ஆப்டிமைசேஷன் என்பது உடற்பயிற்சி போன்றது, நீங்கள் துல்லியமான மாற்றங்களைச் செய்ய வேண்டும், குழப்பமடைய வேண்டாம்!
தொடர்ச்சியான மேம்படுத்தல்களுக்குப் பிறகு, எனது சேவையக CPU சுமை இலிருந்து குறைந்துள்ளது 80% முதல் 15% வரை, வலைத்தளம் இரண்டு மடங்கு வேகமாகத் திறக்கிறது!
உங்கள் சர்வரிலும் இதே போன்ற சிக்கல்கள் இருந்தால், இந்த முறைகளை முயற்சிக்கவும்! 💪
???? இப்போதே நடவடிக்கை எடு! உங்கள் PHP-FPM ஐ மேம்படுத்தி உங்கள் சர்வரைச் சேமிக்கவும்! ????
ஹோப் சென் வெலியாங் வலைப்பதிவு ( https://www.chenweiliang.com/ ) பகிரப்பட்டது "HestiaCP php-fpm செயல்முறை நிறைய CPU வளங்களை எடுத்துக்கொள்கிறது, அதை எவ்வாறு மேம்படுத்துவது? ”, அது உங்களுக்கு உதவியாக இருக்கலாம்.
இந்தக் கட்டுரையின் இணைப்பைப் பகிர வரவேற்கிறோம்:https://www.chenweiliang.com/cwl-32490.html
