Dè bu chòir dhomh a dhèanamh ma tha luchdan CPU àrd aig frithealaiche Nginx agus cleachdadh cuimhne pròiseas?

An do lorg thu gu h-obann aig an obair gu bheil cleachdadh CPU Nginx air a dhol suas? Gus cùisean a dhèanamh nas miosa, tha pròiseasan ioma-luchd-obrach Nginx ag ithe ghoireasan mar seòlta a h-uile uair a choimheadas mi air na pròiseasan.

A 'faicinn an t-seallaidh seo, bidh do cheann a' fàs teth agus chan urrainn dhut cuideachadh le bhith ag èigheach: "O mo Dhia, a bheil am frithealaiche a 'dol a spreadhadh?" Na gabh dragh, chan eil seo a 'ciallachadh gu bheil an frithealaiche agad gu bhith "crìochnaichte", ach Nginx Feumaidh sinn dhut optimization coileanta a dhèanamh!

Mion-sgrùdadh air na h-adhbharan airson cus luchd Nginx

Dè bu chòir dhomh a dhèanamh ma tha luchdan CPU àrd aig frithealaiche Nginx agus cleachdadh cuimhne pròiseas?

An toiseach, feumaidh sinn faighinn a-mach,Carson a tha Nginx gu h-obann a 'fàs "sgìth"?Tha mòran adhbharan ann airson an duilgheadas, na biodh eagal ort, gheibh sinn a-mach còmhla gu h-ìosal.

1. Suidheachadh mì-reusanta

Ann am faidhle rèiteachaidh Nginx, is e am puing as cudromaiche worker_processes. Bidh am paramadair seo a’ dearbhadh an àireamh de phròiseasan a thòisich Nginx.

  • Ma rèiticheas tu ro bheag de phròiseasan luchd-obrach, èiridh an luchd CPU; ma rèiticheas tu cus, cha bhi cuimhne gu leòr ann.
  • Feumaidh tu puing cothromachaidh a lorg, mar eisimpleir,Suidhich worker_processes gu 1 gu 2 uair an àireamh de choraichean CPU.
  • Ma tha 4 cores agad feuch an uairsin worker_processes 4 No cuir gu dìreach e auto.

2. A 'tadhal air àrdachadh

Aig amannan, bidh luchd Nginx gu h-obann a ’snìomh chan ann air sgàth gun do rinn thu mearachd, ach leis gu bheil an àireamh de thursan ro àrd.Bidh iarrtasan ruigsinneachd fìor cho-aontach ag adhbhrachadh gum bi pròiseas neach-obrach Nginx air a dhol thairis., tha a h-uile pròiseas air a luchdachadh cus, agus tha an CPU agus an cuimhne làn cuideachd. Aig an àm seo, is dòcha gum feum thu goireasan frithealaiche a leasachadh, leithid àrdachadh air an àireamh de choraichean CPU no àrdachadh cuimhne. Gu dearbh, tha seo na chuimhneachan cuideachd: na dìochuimhnich beachdachadh air luchdachadh sìos CDN no cothromachadh luchdan.

3. Thachair ionnsaighean droch-rùnach

Chan e rud math a th’ ann a bhith “mòr-chòrdte” air an eadar-lìn an-còmhnaidh na rud math Faodaidh ionnsaighean droch-rùnach cuimseachadh ort aig àm sam bith. Ma lorgas tu gu bheil cleachdadh an CPU anabarrach àrd agus gu bheil tùs an iarrtais IP amharasach, tha e glè choltach gu bheil an làrach-lìn agad a’ fulang le ionnsaigh DDoS. Aig an àm seo,Feumaidh tu balla-teine ​​​​a chleachdadh no tricead ruigsinneachd a chuingealachadh sa bhad, mar a bhith a’ cleachdadh a’ mhodal cuibhreachaidh gnàthach a thig an cois Nginx, no a’ stèidheachadh liosta dubh IP.

Mar a dh ’fhuasglas tu duilgheadas cleachdadh cuimhne àrd de phròiseas Nginx?

Mar sin is e a ’cheist, carson a tha pròiseas neach-obrach Nginx a’ gabhail uimhir de ghoireasan? Feumaidh sinn tòiseachadh leis an rèiteachadh agus a mheudachadh ceum air cheum.

Modh rèiteachaidh

  1. Fosgail faidhle rèiteachaidh Nginx: Mar as trice, tha prìomh fhaidhle rèiteachaidh Nginx suidhichte aig /etc/nginx/nginx.conf.

  2. Cuir air chois worker_processes: Air a lorg ann am faidhle rèiteachaidh events blocaichean, suidheachaidhean worker_processes luach. mur eil events bloc, feumaidh tu fear a chruthachadh.

    nginx
    events {
    worker_connections 1024;
    use epoll;  # 或者适用于操作系统的其他事件模型
    }

1. Suidhich worker_connections gu ceart

nginx worker_connections Bidh am paramadair a’ dearbhadh an àireamh as motha de cheanglaichean as urrainn do gach pròiseas neach-obrach a làimhseachadh. Ma tha e ro bheag, bheir e buaidh air coileanadh concurrency; ma tha e ro mhòr, faodaidh e cus ghoireasan ithe.

Ciamar a obrachadh a-mach an luach iomchaidh?

A 'gabhail ris gu bheil CPU 4-core agad agus 16GB de RAM, tha e na thoiseach tòiseachaidh sàbhailte worker_connections 4096.

Ach ma tha tòrr trafaic aig an làrach-lìn agad, smaoinich air an luach seo àrdachadh gu 8192 gus dèanamh cinnteach gun urrainn do gach pròiseas iarrtasan gu leòr a làimhseachadh.

events {
    worker_connections 8192;
}

San dòigh seo, thèid cumhachd giollachd Nginx a leasachadh gu mòr.

2. Atharraich keepalive_timeout

Is e prìomh paramadair eile airson Nginx a bhith a’ làimhseachadh iarrtasan keepalive_timeout.

Bidh an suidheachadh seo a’ dearbhadh dè cho fada ‘s a ghabhas ceangal an neach-dèiligidh ris an fhrithealaiche a chumail.

Ma thèid a shuidheachadh ro fhada, gabhaidh e cus ghoireasan ceangail..

Faodaidh tu feuchainn ri keepalive_timeout Suidhich gu 15 diogan gus an ceangal a chumail agus goireasan a leigeil ma sgaoil.

keepalive_timeout 15;

3. Leasaich crìochan tuairisgeul faidhle

Gu bunaiteach,Linux Tha crìoch aig an t-siostam air an àireamh de thuairisgeulan faidhle a dh’ fhaodar fhosgladh le gach pròiseas.

Ma dh’ fheumas Nginx àireamh mhòr de fhaidhlichean a phròiseasadh (leithid goireasan statach), is dòcha gum faic thu mearachd bho Nginx, a’ brosnachadh “too many open files".

Faodaidh tu seachad worker_rlimit_nofile Meudaich crìoch tuairisgeul faidhle, mar eisimpleir air a shuidheachadh gu 65535.

worker_rlimit_nofile 65535;

4. Dèan comas air caching agus gzip

Ann an optimization coileanadh làrach-lìn, tha caching agus teannachadh nan dà iuchair.

Le bhith a’ comasachadh gnìomh tasgadan Nginx, faodar goireasan statach (leithid ìomhaighean agus faidhlichean JS) a thasgadh mar chuimhne, mar sin a 'lùghdachadh gu mòr an luchd air an fhrithealaiche.

A bharrachd air an sin, faodaidh tionndadh air gnìomh teannachaidh gzip an ìre de dhàta a thèid a ghluasad a lughdachadh agus astar làrach-lìn adhartachadh.

gzip on;
gzip_types text/plain application/javascript;

5. Dèan mion-sgrùdadh air cleachdadh ghoireasan Nginx

Mu dheireadh, ma tha thu air na optimizations gu h-àrd a chrìochnachadh ach tha Nginx fhathast a ’gabhail tòrr CPU, is dòcha gum feum thu cuid de dh’ innealan a chleachdadh airson mion-sgrùdadh.

使用 tophtop Thoir sùil air caitheamh ghoireasan fìor-ùine pròiseas, le strace Trace gairmean siostam, no a 'cleachdadh nmon Cruthaich aithisgean coileanaidh. Is ann dìreach le bhith a’ dèanamh mion-sgrùdadh coileanta air fìor obrachadh Nginx as urrainn dhuinn gleusadh nas mionaidiche a dhèanamh.

gu suim

Na gabh dragh nuair a bhios cleachdadh CPU Nginx ag èirigh. Is dòcha gu bheil e dìreach air adhbhrachadh le rèiteachadh neo-iomchaidh no cus trafaic.

tro atharrachaidhean reusanta worker_processesworker_connectionsLe bhith a’ comasachadh caching, a’ dèanamh an fheum as fheàrr de amannan-ama agus tuairisgeulan fhaidhlichean, faodaidh tu an cuideam luchdan air Nginx a lughdachadh gu mòr.

Tha Nginx na fhrithealaiche lìn cumhachdach a bheir, nuair a thèid a mheudachadh gu ceart, coileanadh sàr-mhath don làrach-lìn agad.

Cuimhnich, faodar ceistean sam bith a fhreagairt leSaidheansdòighean airson fuasgladh fhaighinn air, chan eil ann an coileanadh an fhrithealaiche as fheàrr ach a-mhàin.

Cumail sùil air agus atharraich ann an deagh àm, an iuchair airson Nginx a chumail a’ ruith gu h-èifeachdach. Mas urrainn dhut na dòighean sin a mhaighstir, bidh an làrach-lìn agad sàbhailte eadhon an aghaidh trafaic àrd no ionnsaighean droch-rùnach.

Tha mi an dòchas gu bheil an artaigil seo air do bhrosnachadh, dèan cabhag agus dèan an fheum as fheàrr den Nginx agad!

发表 评论

Cha tèid do sheòladh puist-d fhoillseachadh. 必填 项 已 用 * Label

Rach gu mhullaich