ఆర్టికల్ డైరెక్టరీ
- 1 1. php-fpm ప్రక్రియల సంఖ్యను పరిమితం చేయండి
- 2 2. OPCache ని ప్రారంభించండి (PHP పనితీరును మెరుగుపరచడానికి)
- 3 3. PHP స్క్రిప్ట్ల గరిష్ట అమలు సమయాన్ని పరిమితం చేయండి.
- 4 4. MySQL స్లో క్వెరీలను తనిఖీ చేయండి
- 5 5. మెమ్కాష్డ్ వనరుల వినియోగాన్ని పరిమితం చేయండి
- 6 6. స్టాటిక్ వనరులను కాష్ చేయడానికి Nginxని ప్రారంభించండి
- 7 7. అత్యధిక CPU ని ఉపయోగించే PHP స్క్రిప్ట్ను కనుగొనండి
- 8 సారాంశం: PHP-FPMని ఆప్టిమైజ్ చేయడానికి 7 మార్గాలు
- 9 ముగింపులో
హెస్టియాసిపి సర్వర్ 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
మరిన్ని దాచిన ఉపాయాలను అన్లాక్ చేయడానికి🔑, మా టెలిగ్రామ్ ఛానెల్లో చేరడానికి స్వాగతం!
మీకు నచ్చితే షేర్ చేయండి మరియు లైక్ చేయండి! మీ షేర్లు మరియు ఇష్టాలు మా నిరంతర ప్రేరణ!