A bheil VPS 8-cridhe 24GB a’ ruith a-mach à cuimhne? Stiùireadh practaigeach airson gleusadh amar pròiseas PHP-FPM anabarrach le HestiaCP

Chan eil an àireamh de luchd-cleachdaidh aig an aon àm as urrainn do fhrithealaiche a làimhseachadh an urra ri cia mheud cridhe a th’ ann, ach air dè an ìre de chuimhne a bhios gach pròiseas ag ithe.

Dh’ fhaodadh an aithris seo a bhith coltach ri brosnachadh, ach ’s e seo an t-eòlas as fìor agus as pianail ann an gnìomhachas obrachaidh is cumail suas.

Carson a tha cuimhne mar am prìomh bhacadh?

Bidh mòran dhaoine a’ faicinn VPS le CPU 8-cridhe agus 24GB de chuimhne agus a’ smaoineachadh gu fo-mhothachail gun urrainn dhaibh ceudan de phròiseasan PHP-FPM a ruith gu furasta.

Ach, ann an da-rìribh, bidh cleachdadh cuimhne RSS aon phròiseas PHP cho àrd ri 200MB gu tric.

Seo an toradh a fhuaireadh tro dheuchainn fhìor tron ​​loidhne-àithne:

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

Ann an àrainneachd frèam-obrach agus ioma-phlugan iom-fhillte HestiaCP, gu h-àraidh às aonais leasachadh OPcache, is e 200MB an àbhaist.

Tha seo a’ ciallachadh gur e cuimhne, chan e an CPU, an crìoch chruaidh a tha a’ dearbhadh an co-chòrdalachd as motha.

A bheil VPS 8-cridhe 24GB a’ ruith a-mach à cuimhne? Stiùireadh practaigeach airson gleusadh amar pròiseas PHP-FPM anabarrach le HestiaCP

Faidhle rèiteachaidh a thathar a’ moladh (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

Loidsig àireamhachadh paramadair agus bunait suidheachaidh

Paramadairean rèiteachaidhA’ suidheachadh luachBunait Àireamhachadh is Suidheachaidh Chridhe
pmdynamicLeigidh modh fiùghantach le pròiseasan a bhith air an cur ris no air an cuir às gu sùbailte stèidhichte air riatanasan co-aimsireil, a’ cothromachadh astar freagairt agus cleachdadh cuimhne.
pm.max_clann8024GB de chuimhne iomlan às aonais eithne an t-siostaim agus MySQL/RedisÀs dèidh Nginx, tha timcheall air 16GB air fhàgail airson PHP.16,384 MB / 200 MB ≈ 81.9Ma chuireas tu e gu 80, faodar OOM (A-mach às a' Chuimhne) a thoirt air falbh gu tur aig àm co-chruinneachaidh àrd.
frithealaichean_tòiseachaidh_pm16Tha ro-theasachadh aig àm tòiseachaidh air a shuidheachadh gu dà uiread an àireamh de choraichean CPU (8 coraichean × 2 = 16) gus dèanamh cinnteach gum faod an t-seirbheis dèiligeadh ri co-aimsireil bhunasach sa bhad às dèidh ath-thòiseachadh.
frithealaichean_spàr_pm.min8Suidhich àireamh chridhean an CPU gu 8 cridheachan gus dèanamh cinnteach gum faodar freagairt a thoirt do iarrtasan ùra aig àm sam bith rè amannan trafaic ìosal.
frithealaichean_spàr_pm.max24Suidhich e gu 3 uiread an àireamh de choraichean CPU (8 coraichean × 3 = 24) gus àireamh mheadhanach de phròiseasan a chumail às deidh don trafaic crìonadh, gus dèiligeadh ri caochlaidhean beaga.
pm.max_requests500Ma ruigeas aon phròiseas bunait mhòr de 200MB, faodaidh lùghdachadh àireamh nan iarrtasan gu 500 mus tèid an sgrios agus an ath-thogail a ghlanadh a-mach aodion cuimhne neo-fhollaiseach nas luaithe.
pm.process_idle_timeout10s超出 min_spare_servers Thèid pròiseasan dìomhain a leigeil ma sgaoil gu fèin-ghluasadach agus a thilleadh gu cuimhne an t-siostaim an dèidh 10 diogan gun iarrtasan sam bith.

Roghainnean Taice Riatanach agus Molaidhean Leasachaidh

1. Uidheam an-aghaidh ceann goirt le crìoch ùine

request_terminate_timeout = 60s Sin an iuchair.

Faodaidh e crìoch a chur air pròiseasan a tha steigte air sgàth bacadh stòr-dàta no bacadh API treas-phàrtaidh.

Aig an aon àm, Nginx fastcgi_read_timeout Feumar a chumail co-dhiù 60 diogan, air neo gheibh an neach-dèiligidh e ro-luath. 504 Gateway Timeout.

2. Ro-innleachdan gus faighinn thairis air bacaidhean cuimhne

Tha 80 pròiseas aig an aon àm a’ ciallachadh, fo chumhachan co-aimsireil anabarrach, gum faod an siostam dèiligeadh ri 80 iarrtas HTTP fiùghantach aig an aon àm.

Ma tha thu airson comas a leasachadh tuilleadh, bu chòir am fòcas a bhith air cleachdadh cuimhne gach pròiseas a lughdachadh.

  • Dèan comas air OPcache: gu php.ini Rèiteachadh meadhanach opcache.enable=1 agus opcache.memory_consumption=256Faodaidh tasgadan còd-byte cleachdadh cuimhne aon phròiseas a lùghdachadh bho 200MB gu 60~100MB.
  • Smachd reusanta air crìoch_cuimhne:Toil php.ini meadhan memory_limit Earranta gu 128M256MGus casg a chur air sgriobtaichean neo-àbhaisteach fa lethgun chrìochBidh e ag ithe tòrr cuimhne.

Cho luath ‘s a thuiteas cleachdadh cuimhne aon phròiseis gu 100MB…pm.max_children Faodar a leasachadh gu sàbhailte gu 150 A bharrachd air sin, tha comas co-aimsireil cha mhòr air dùblachadh.

Beachdan ùghdarrasail air an ainmeachadh

A rèir nam molaidhean ann an sgrìobhainnean oifigeil Nginx :

"Bu chòir sùil a chumail air aplacaidean FastCGI an-còmhnaidh le stiùiridhean crìoch-ama gus casg a chuir air crìonadh ghoireasan."
(Stòr: Sgrìobhainnean Nginx)

Tha an leabhar-làimhe oifigeil PHP ag ràdh gu soilleir:

"Tha pm.max_children a’ mìneachadh an àireamh as motha de phròiseasan cloinne a thèid a chruthachadh. Is e seo an stiùireadh as cudromaiche."
(Stòr: Sgrìobhainnean PHP-FPM)

Tha na beachdan ùghdarrasail seo a’ freagairt gu foirfe ris na cleachdaidhean againn, a’ dearbhadh nach eil loidsig leasachaidh stèidhichte a-mhàin air eòlas, ach cuideachd air deagh chleachdaidhean àbhaisteach.

Co-dhùnadh: Mo Sheallaidhean agus Prìomh Abairtean

Ann an suidheachaidhean àrd-cho-aimsireil, is e an CPU an t-einnsean, is e a’ chuimhne an tanca connaidh, agus is e PHP-FPM an neach-sgaoilidh cabhlach.

Ge bith dè cho cumhachdach 's a tha an t-inneal, mura h-eil an tanca connaidh mòr gu leòr, cha tèid an càr-siubhail glè fhada.

Cha bhith fìor eòlaichean a’ meudachadh nam paramadairean gu dall, ach an àite sin bidh iad a’ tomhas cleachdadh cuimhne gach pròiseas gu mionaideach gus casg a chuir air sgudal agus cus-shruth.

Is e prìomh amas an leasachaidh cothromachadh as fheàrr a lorg le goireasan cuibhrichte.

Chan e dìreach teicneòlas a tha seo, ach feallsanachd cuideachd.

Mar sin, sguir de bhith a’ creidsinn gu bheil “an àireamh de choraichean a’ dearbhadh a h-uile càil.” Is e an rud a tha dha-rìribh a’ dearbhadh crìoch na co-aimsireil do smachd air cuimhne.

Gabh gnìomh agus dèan an fheum as fheàrr de do VPS, a’ dèanamh a’ chuid as fheàrr de gach boinne cuimhne.

发表 评论

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

Rach gu mhullaich