ባለ 8-ኮር 24GB VPS ማህደረ ትውስታ እያለቀበት ነው? ከሄስቲያሲፒ ጋር ለከፍተኛ የ PHP-FPM ሂደት መዋኛ ገንዳ ማስተካከያ ተግባራዊ መመሪያ

አንድ አገልጋይ ሊጠቀምባቸው የሚችላቸው በተመሳሳይ ጊዜ ተጠቃሚዎች ብዛት የሚወሰነው ስንት ኮሮች እንዳሉት ሳይሆን እያንዳንዱ ሂደት ምን ያህል ማህደረ ትውስታ እንደሚጠቀም ነው።

ይህ አባባል እንደ ማነቃቂያ ሊመስል ይችላል፣ ነገር ግን በኦፕሬሽንና ጥገና ኢንዱስትሪ ውስጥ በጣም እውነተኛ እና የሚያሰቃይ ተሞክሮ ነው።

ማህደረ ትውስታ ዋናው ችግር የሆነው ለምንድነው?

ብዙ ሰዎች ባለ 8-ኮር ሲፒዩ እና 24GB ማህደረ ትውስታ ያለው VPS ያያሉ እና በድብቅ በመቶዎች የሚቆጠሩ የ PHP-FPM ሂደቶችን በቀላሉ ማስኬድ እንደሚችሉ ያስባሉ።

ሆኖም ግን፣ እንደ እውነቱ ከሆነ፣ የአንድ PHP ሂደት የRSS ማህደረ ትውስታ አጠቃቀም ብዙውን ጊዜ እስከ 200 ሜባ ይደርሳል ።

ይህ በትእዛዝ መስመር በኩል በእውነተኛ ሙከራ የተገኘው ውጤት ነው-

ps --no-headers -o rss -p $(pgrep php-fpm) | awk '{sum+=$1} END {print sum/NR/1024 " MB"}'

በሄስቲያሲፒ ውስብስብ ማዕቀፍ እና ባለብዙ-ፕለጊን አካባቢ፣ በተለይም የOPcache ማመቻቸት ከሌለ፣ 200ሜባ የተለመደ ነው ።

ይህ ማለት ከፍተኛውን የድግግሞሽ መጠን የሚወስነው ጠንካራ ገደብ ማህደረ ትውስታ እንጂ ሲፒዩ አይደለም ማለት ነው።

ባለ 8-ኮር 24GB VPS ማህደረ ትውስታ እያለቀበት ነው? ከሄስቲያሲፒ ጋር ለከፍተኛ የ PHP-FPM ሂደት መዋኛ ገንዳ ማስተካከያ ተግባራዊ መመሪያ

የሚመከር የውቅር ፋይል (php-fpm.conf)

pm = dynamic
pm.max_children = 80
pm.start_servers = 16
pm.min_spare_servers = 8
pm.max_spare_servers = 24
pm.max_requests = 500
pm.process_idle_timeout = 10s
request_terminate_timeout = 60s

የመለኪያ ስሌት አመክንዮ እና የማዋቀር መሰረት

የማዋቀር መለኪያዎችየማዋቀሪያ እሴትየዋና ስሌት እና የማዋቀር መሠረት
pmdynamicተለዋዋጭ ሁነታ በተለዋዋጭ መስፈርቶች ላይ ተመስርተው የሂደቶችን ተለዋዋጭነት ለመጨመር ወይም ለመሰረዝ፣ የምላሽ ፍጥነትን እና የማህደረ ትውስታ አጠቃቀምን ለማመጣጠን ያስችላል።
pm.max_ልጆች8024GB ጠቅላላ ማህደረ ትውስታ ሲቀነስ የስርዓት ከርነል እና MySQL/Redisከንኪንክስ በኋላ፣ ለ PHP በግምት 16GB ይቀራል።16,384 MB / 200 MB ≈ 81.9ወደ 80 ማቀናበር በከፍተኛ ድግግሞሽ ወቅት OOM (ከማህደረ ትውስታ ውጪ) ሙሉ በሙሉ ሊያስወግድ ይችላል።
የpm.start_አገልጋዮች16አገልግሎቱ እንደገና ከተጀመረ በኋላ ወዲያውኑ መሰረታዊ የሆነ የድግግሞሽ መጠንን መቆጣጠር እንዲችል በጅምር ላይ ቅድመ-ማሞቅ የሲፒዩ ኮሮች ቁጥር በእጥፍ (8 ኮሮች × 2 = 16) እንዲሆን ተቀናብሯል።
pm.min_spare_servers8አዳዲስ ጥያቄዎች በዝቅተኛ የትራፊክ ጊዜዎች በማንኛውም ጊዜ ምላሽ ሊሰጡ እንደሚችሉ ለማረጋገጥ የሲፒዩ ኮር ብዛትን ወደ 8 ኮሮች ያቀናብሩ።
pm.max_spare_servers24ትራፊኩ ከተቀነሰ በኋላ መካከለኛ የሂደቶችን ቁጥር ለማቆየት፣ መለስተኛ መለዋወጥን ለማስተናገድ፣ የሲፒዩ ኮሮች ብዛት (8 ኮሮች × 3 = 24) ወደ 3 እጥፍ ያዋቅሩት።
pm.max_ጥያቄዎች500አንድ ሂደት 200ሜባ የሚደርስ ትልቅ መሰረት ላይ ከደረሰ፣ የጥያቄዎችን ቁጥር ወደ 500 መቀነስ ሂደቱን ያበላሻል እና እንደገና ይገነባል፣ ይህም የተዘዋዋሪ የማህደረ ትውስታ ፍሳሾችን በፍጥነት ሊያጸዳ ይችላል።
pm.ሂደቱ_ያለ_ጊዜ ማብቂያ10sአልፏል min_spare_servers የስራ ፈት ሂደቶች በራስ-ሰር ይለቀቃሉ እና ምንም ጥያቄ ከሌለ ከ10 ሰከንዶች በኋላ ወደ የስርዓት ማህደረ ትውስታ ይመለሳሉ።

አስፈላጊ የድጋፍ ቅንብሮች እና የማመቻቸት ጥቆማዎች

1. የጊዜ ማብቂያ ፀረ-የተንጠለጠለበት ዘዴ

request_terminate_timeout = 60s ቁልፉ ያ ነው።

የውሂብ ጎታ መቆለፊያ ወይም የሶስተኛ ወገን ኤፒአይ እገዳ ምክንያት የተጣበቁ ሂደቶችን በግድ ሊያቆም ይችላል።

ይህ በእንዲህ እንዳለ፣ የ Nginx fastcgi_read_timeout ቢያንስ ለ60 ሰከንዶች መቀመጥ አለበት፣ አለበለዚያ ደንበኛው ያለጊዜው ይቀበለዋል። 504 Gateway Timeout.

2. የማስታወስ እክሎችን ለማሸነፍ ስልቶች

ቢበዛ 80 በተመሳሳይ ጊዜ የሚከናወኑ ሂደቶች ማለት በጣም በተለዋዋጭ ሁኔታዎች ስር ስርዓቱ ቢበዛ 80 ተለዋዋጭ የኤችቲቲፒ ጥያቄዎችን በአንድ ጊዜ ማስተናገድ ይችላል ማለት ነው።

አቅምን የበለጠ ለማሻሻል ከፈለጉ፣ በእያንዳንዱ ሂደት የማህደረ ትውስታ አጠቃቀምን በመቀነስ ላይ ማተኮር አለብዎት።

  • OPcache ን አንቃ在 php.ini መካከለኛ ውቅር opcache.enable=1 እና opcache.memory_consumption=256ባይትኮድ መሸጎጫ የአንድ ሂደት የማህደረ ትውስታ አጠቃቀምን ከ200ሜባ ወደ 60-100ሜባ ሊቀንስ ይችላል።
  • የ memory_limit ምክንያታዊ ቁጥጥር:ዊል php.ini መካከለኛ memory_limit የተወሰነው ለ 128M ወይም ፡፡ 256Mየግለሰብ ያልተለመዱ ስክሪፕቶችን ለመከላከልያልተገደበብዙ ማህደረ ትውስታን ያጠፋል።

የአንድ ሂደት የማህደረ ትውስታ አጠቃቀም ወደ 100 ሜባ ሲወርድ…pm.max_children ደህንነቱ በተጠበቀ ሁኔታ ሊሻሻል ይችላል ወደ 150 በተጨማሪም፣ የተመጣጣኝነት አቅሙ በእጥፍ ጨምሯል።

የተጠቀሱ ስልጣን ያላቸው አመለካከቶች

በይፋዊው የNginx ሰነድ ውስጥ በተሰጡት ምክሮች መሠረት

"የFastCGI አፕሊኬሽኖች የሀብት መሟጠጥን ለመከላከል ሁልጊዜ በጊዜ ማብቂያ መመሪያዎች ክትትል ሊደረግባቸው ይገባል።"
(ምንጭ፡ Nginx ሰነዶች)

ኦፊሴላዊው የ PHP መመሪያ በግልጽ እንዲህ ይላል

"pm.max_children የሚፈጠሩትን ከፍተኛውን የሕፃናት ሂደቶች ብዛት ይገልጻል። ይህ በጣም አስፈላጊው መመሪያ ነው።"
(ምንጭ፡ PHP-FPM ሰነድ)

እነዚህ ባለሥልጣን አመለካከቶች ከተግባሮቻችን ጋር ፍጹም የተጣጣሙ ናቸው፣ ይህም የማመቻቸት አመክንዮ በልምድ ላይ ብቻ ሳይሆን በተሻሻሉ ምርጥ ልምዶች ላይም የተመሰረተ መሆኑን ያረጋግጣል።

ማጠቃለያ፡ የእኔ አመለካከቶች እና ቁልፍ ጥቅሶች

በከፍተኛ ሁኔታ በሚለዋወጡ ሁኔታዎች ውስጥ፣ ሲፒዩ ሞተሩ ነው፣ ማህደረ ትውስታው የነዳጅ ማጠራቀሚያ ነው፣ እና PHP-FPM የመርከብ አስተላላፊ ነው።

ሞተሩ ምንም ያህል ኃይለኛ ቢሆን፣ የነዳጅ ማጠራቀሚያው በቂ ካልሆነ ኮንቮዩ ብዙም አይርቅም።

እውነተኛ ባለሙያዎች መለኪያዎችን በጭፍን አይጨምሩም፣ ይልቁንም ብክነትን እና ከመጠን በላይ መጨናነቅን ለማስወገድ የእያንዳንዱን ሂደት የማህደረ ትውስታ አጠቃቀም በትክክል ያሰላሉ።

የማመቻቸት ዋና ነገር ውስን ሀብቶችን በመጠቀም የተሻለውን ሚዛን ማግኘት ነው።

ይህ ቴክኖሎጂ ብቻ ሳይሆን ፍልስፍናም ጭምር ነው ።

ስለዚህ፣ "የኮርዎች ብዛት ሁሉንም ነገር ይወስናል" የሚለውን ማመን አቁሙ። የተመጣጣኝነት ገደቡን በትክክል የሚወስነው በማስታወስ ላይ ያለዎት ቁጥጥር ነው።

እርምጃ ይውሰዱ እና የእርስዎን VPS ሙሉ አቅሙን ያሻሽሉ፣ እያንዳንዱን የማህደረ ትውስታ ጠብታ በአግባቡ ይጠቀሙ።

በቼን ዌይሊያንግ ጦማር ( https://www.chenweiliang.com/ ) ላይ የተጋራው "8-ኮር 24GB VPS ማህደረ ትውስታ እያለቀበት ነው? በሄስቲያሲፒ ስር የPHP-FPM ሂደት ገንዳ እጅግ በጣም ማስተካከያ" የሚለው ጽሑፍ ለእርስዎ ጠቃሚ እንደሚሆን ተስፋ እናደርጋለን።

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

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

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

 

评论ሺ评论评论评论 ፡፡

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

ወደ ላይ ሸብልል