የ HestiaCP php-fpm ሂደት ብዙ የሲፒዩ ሀብቶችን ይወስዳል እንዴት ማመቻቸት እችላለሁ?

የሄስቲያሲፒ አገልጋይ የሲፒዩ ጭማሪዎች? ለ PHP-FPM ሂደት ማመቻቸት የተሟላ መመሪያ!

የ HestiaCP php-fpm ሂደት ብዙ የሲፒዩ ሀብቶችን ይወስዳል እንዴት ማመቻቸት እችላለሁ?

የሰርቨርዎ ሲፒዩ ያለማቋረጥ 100% ነው? አድናቂዎቹ እየተሽከረከሩ ነው? ድህረ ገጽዎ በዝግታ እየተጫነ ነው? ጥፋተኛው ምናልባት php-fpm ሊሆን ይችላል!

በቅርቡ አገኘሁ chenweiliang.com ይህ ፒኤችፒ ገንዳ php-fpm ሂደቱ ሲፒዩውን እንደ እብድ በልቷል፣ እና አገልጋዩ ተበላሽቷል!

አገልጋዩን ለማነቃቃት ተከታታይ የማመቻቸት ዘዴዎችን ሞከርኩ እና በመጨረሻም የሲፒዩ አጠቃቀምን መቀነስ ቻልኩ።

አሁን፣ ይህንን ቀልጣፋ የማመቻቸት መመሪያ እናካፍል ! 🚀

1. የ php-fpm ሂደቶችን ብዛት ይገድቡ

የphp-fpm ነባሪ ቅንብሮች ያልተገደበ የሂደቶችን ብዛት ሊፈጥሩ ይችላሉ፣ ይህም የአገልጋይ ሲፒዩ ከመጠን በላይ እንዲጫን ያደርጋል።

እሱን ለማመቻቸት የሂደት አስተዳደር መለኪያዎችን መለወጥ እንችላለን።

ማዞር php-fpm የማዋቀር ፋይሎች፡

sudo nano /etc/php/*/fpm/pool.d/www.conf
  • *እንደ 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 የሲፒዩ ሀብቶችን ከመጠን በላይ እንዳይበላ ለመከላከል የሂደቶችን ብዛት ይገድባል

2. OPCache ን አንቃ (የ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 ኮድን ተደጋጋሚ መተንተን ይቀንሳል፣ የሲፒዩ ጭነትን ይቀንሳል እና የአፈጻጸም ቅልጥፍናን ያሻሽላል።

3. የ PHP ስክሪፕቶችን ከፍተኛውን የማስፈጸሚያ ጊዜ ይገድቡ

የPHP ስክሪፕት ለረጅም ጊዜ የሚሠራ ከሆነ የሲፒዩ ሀብቶች ያለማቋረጥ ይያዛሉ።
ምክንያታዊ የሆነ የጊዜ ማብቂያ ጊዜ ማዘጋጀት "ግትር" ሂደቶች አገልጋዩን ለረጅም ጊዜ እንዳይይዙ ይከላከላል.

ማዞር php.ini ሰነድ፡-

sudo nano /etc/php/*/fpm/php.ini

የሚከተሉትን መለኪያዎች ያስተካክሉ:

max_execution_time = 30  # PHP 脚本最多执行 30max_input_time = 30  # 处理输入数据最多 30memory_limit = 256M  # 限制单个 PHP 进程的内存占用

ከዚያ የ PHP ሂደቱን እንደገና ያስጀምሩ:

sudo systemctl restart php-fpm

✅ተፅዕኖ ፡ የPHP ሂደቶች ለረጅም ጊዜ እንዳይሰሩ ይከላከላል፣ ይህም የሲፒዩ ሀብት ብክነትን ይቀንሳል

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. ገደቦች ተጠቅሷል የሀብት አጠቃቀም

የሂደቱን ዝርዝር ስመለከት አገኘሁ Memcached ሂደት ሲፒዩ አጠቃቀም 24.8% ነው!
ምናልባት የመሸጎጫ ምደባው በጣም ትልቅ ስለሆነ ሲፒዩ ከፍተኛ መጠን ያለው ውሂብ እንዲያስኬድ ያደርገዋል።

ማስተካከል memcached ውቅር፡

sudo nano /etc/memcached.conf

ይከልሱ፡

-m 32  # 限制 Memcached 内存使用 32MB

ከዚያ ዳግም አስነሳ፦

sudo systemctl restart memcached

✅ተፅዕኖ ፡ በሜምካቼድ ሂደት ላይ የሲፒዩ ጭነትን ይቀንሳል እና የመሸጎጫ ቅልጥፍናን ያሻሽላል።

6. Nginxን የማይንቀሳቀሱ ንብረቶችን ለመሸጎጥ ያንቁ

ብዙ ጊዜ፣ ፒኤችፒ ብዙ ቁጥር ያላቸውን ጥያቄዎችን ያስኬዳል CSS፣ JS፣ ምስሎችነገር ግን እነዚህ ፋይሎች ፒኤችፒን መተንተን አያስፈልጋቸውም!
መፍትሄው? የማይንቀሳቀሱ ሀብቶችን ለመሸጎጥ 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 የማይንቀሳቀሱ ፋይሎችን የሚያስኬድበትን ጊዜ ይቀንሳል፣ በዚህም የሲፒዩ አጠቃቀምን ይቀንሳል።

7. ብዙ ሲፒዩ የሚጠቀም የPHP ስክሪፕት ያግኙ

ከተመቻቸ በኋላ ሲፒዩ አሁንም በጣም ከፍ ያለ ከሆነ፣ አንዳንድ የPHP ስክሪፕቶች በጣም እየሰሩ ሊሆኑ ይችላሉ።
ከፍተኛ የሲፒዩ አጠቃቀም ያለውን የPHP ሂደት ለማወቅ የሚከተለውን ትዕዛዝ ይጠቀሙ፡

ps -eo pid,user,pcpu,pmem,args --sort=-pcpu | grep php

አንድ ፒኤችፒ ስክሪፕት በጣም ብዙ ሲፒዩ እየወሰደ እንደሆነ ካወቁ በቀጥታ ሊገድሉት ይችላሉ፡-

kill -9 PID

✅ውጤት ፡- "መጥፎ ፖም" በትክክል ይለያል እና የPHP ሂደቶች ለረጅም ጊዜ ሲፒዩ እንዳይይዙ ይከላከላል።

ማጠቃለያ፡ PHP-FPMን ለማመቻቸት 7 መንገዶች

የ PHP-FPM ሂደቶችን ብዛት ይገድቡሲፒዩ ከመጠን በላይ መጫንን ለመከላከል
OPCacheን አንቃ፣ የ PHP ኮድ ተደጋጋሚ ትንታኔን ይቀንሱ
የ PHP ጊዜ ማብቂያን በማቀናበር ላይ, የረጅም ጊዜ ቀዶ ጥገናን ለመከላከል
MySQL ቀርፋፋ መጠይቆችን በመፈተሽ ላይ፣ የውሂብ ጎታ መጠይቅ አፈፃፀምን ያሳድጉ
የተቀረጸ ማህደረ ትውስታን ያስተካክሉየሲፒዩ ሸክምን መቀነስ
Nginx የማይንቀሳቀስ መሸጎጫ አንቃየ PHP ትንተና ሸክሙን በመቀነስ
ከፍተኛ የሲፒዩ አጠቃቀም PHP ስክሪፕቶችን ያግኙ, ትክክለኛ ማመቻቸት

በማጠቃለል

የአገልጋይ ማመቻቸት ልክ እንደ አካል ብቃት ነው፣ ትክክለኛ ማስተካከያዎችን ማድረግ ያስፈልግዎታል እና አያበላሹ!
ከተከታታይ ማሻሻያዎች በኋላ የአገልጋዬ ሲፒዩ ጭነት ቀንሷል 80% ወደ 15%, ድህረ ገጹ በእጥፍ በፍጥነት ይከፈታል!
አገልጋይዎ ተመሳሳይ ችግሮች ካሉት እነዚህን ዘዴዎች ይሞክሩ! 💪

👉አሁን እርምጃ ይውሰዱ! PHP-FPMዎን ያሻሽሉ እና አገልጋይዎን ያስቀምጡ! 🚀

በቼን ዌይሊያንግ ጦማር ( https://www.chenweiliang.com/ ) ላይ የተጋራው "የሄስቲያሲፒ php-fpm ሂደት ብዙ የሲፒዩ ሀብቶችን ይወስዳል፣ እንዴት ማመቻቸት ይቻላል?" የሚለው ጽሑፍ ለእርስዎ ጠቃሚ እንደሚሆን ተስፋ እናደርጋለን።

የዚህን ጽሑፍ ሊንክ ለማጋራት ነፃነት ይሰማዎ፦ https://www.chenweiliang.com/cwl-32490.html

ተጨማሪ ድብቅ ዘዴዎችን ለመክፈት የቴሌግራም ቻናላችንን እንኳን በደህና መጡ።

ከወደዳችሁት ሼር እና ላይክ አድርጉ! የእርስዎ ማጋራቶች እና መውደዶች የእኛ ቀጣይ ተነሳሽነት ናቸው!

 

评论ሺ评论评论评论 ፡፡

您的邮箱地址不会被公开。必填项已用*标注

ወደ ላይ ሸብልል