Directory artaigil
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

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 4No cuir gu dìreach eauto.
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
Fosgail faidhle rèiteachaidh Nginx: Mar as trice, tha prìomh fhaidhle rèiteachaidh Nginx suidhichte aig
/etc/nginx/nginx.conf.Cuir air chois
worker_processes: Air a lorg ann am faidhle rèiteachaidheventsblocaichean, suidheachaidheanworker_processesluach. mur eileventsbloc, 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.
使用 top 或 htop 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_processes 和 worker_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!
An dòchas blog Chen Weiliang ( https://www.chenweiliang.com/ ) co-roinnte "Dè bu chòir dhomh a dhèanamh ma tha cleachdadh CPU an fhrithealaiche Nginx agus cleachdadh cuimhne pròiseas àrd?" 》, cuideachail dhut.
Fàilte gus ceangal an artaigil seo a cho-roinn:https://www.chenweiliang.com/cwl-32093.html
Gus barrachd chleasan falaichte fhuasgladh🔑, fàilte oirbh a thighinn còmhla ris an t-sianal Telegram againn!
Roinn agus toil ma thogras tu e! Is e na h-earrannan agad agus na rudan as toil leinn ar brosnachadh leantainneach!