Article Directory
Efa hitanao tampoka ve tany am-piasana fa nitombo ny fampiasana CPU Nginx? Ny tena ratsy kokoa, ny fizotry ny mpiasa maro an'i Nginx dia mandany loharano toy ny adala isaky ny mijery ireo dingana aho.
Mafana ny lohanao rehefa mahita an'io seho io, ary tsy afa-mitabataba ianao hoe: "Andriamanitra ô, hipoaka ve ny servera, aza manahy, tsy midika izany fa "vita" ny servero? fa Nginx Mila anao izahay hanao fanatsarana feno!
Famakafakana ny antony mahatonga ny entana Nginx tafahoatra

Voalohany, mila fantarina ny antony mahatonga ny Nginx tampoka "tsy ampy hery". Maro ny antony mahatonga ity olana ity, koa aza manahy, andao hojerentsika miaraka izy ireo.
1. Fanofanana tsy mitombina
Ao amin'ny rakitra konfigurasi Nginx, ny teboka manan-danja indrindra dia worker_processes. Ity parameter ity dia mamaritra ny isan'ny dingana natomboky ny Nginx.
- Raha vitsy loatra ny fizotry ny mpiasa dia hiakatra ny enta-mavesatra CPU raha be loatra ianao, dia tsy ampy ny fitadidiana.
- Tsy maintsy mitady teboka mizana ianao, ohatra,Mametraha worker_processes ho in-1 ka hatramin'ny in-2 ny isan'ny cores CPU.
- Raha manana cores 4 ianao dia andramo
worker_processes 4Na apetraho mivantana amin'nyauto.
2. Mirongatra ny fitsidihana
Indraindray, ny fiakaran'ny enta-mavesatry ny Nginx tampoka dia tsy vokatry ny lesoka amin'ny asa, fa noho ny habetsahan'ny fangatahana be loatra. Ny fiaraha-miasa be loatra dia mety handratra ny fizotran'ny mpiasan'ny Nginx , ka mahatonga ny fizotran'ny tsirairay hiasa mihoatra ny fahafahany, ka mandany ny CPU sy ny fahatsiarovana. Amin'ity tranga ity, mety mila manavao ny loharanon-karenan'ny mpizara ianao, toy ny fampitomboana ny isan'ny cores CPU na ny fanampiana fahatsiarovana bebe kokoa. Mazava ho azy fa fampahatsiahivana ihany koa izany: aza adino ny mandinika ny fizarana fifamoivoizana CDN na ny fandanjalanjana ny enta-mavesatra.
3. Nifanena tamin'ny fanafihana maloto
Tsy voatery ho tsara daholo ny hoe malaza be an-tserasera; mety hikendry anao amin'ny fotoana rehetra ny fanafihana ratsy. Raha mahatsikaritra fampiasana CPU avo loatra sy fangatahana adiresy IP mampiahiahy ianao, dia azo inoana fa ho tratran'ny fanafihana DDoS ny tranonkalanao. Amin'ity tranga ity, mila mametraka rindranasa fiarovana avy hatrany ianao na mametra ny fatran'ny fidirana , toy ny fampiasana ny môdioly famerana ny tahan'ny fidirana ao amin'ny Nginx na ny fametrahana lisitra mainty IP.
Ahoana ny famahana ny olan'ny fampiasana fahatsiarovana ambony amin'ny dingana Nginx?
Ka ny fanontaniana dia hoe, maninona no maka loharanon-karena maro ny fizotran'ny mpiasa Nginx? Tsy maintsy manomboka amin'ny fanamafisana isika ary manatsara azy tsikelikely.
Fomba fanamboarana
Sokafy ny rakitra konfigurasi Nginx: Amin'ny ankapobeny, ny rakitra fanamafisana lehibe an'ny Nginx dia hita ao
/etc/nginx/nginx.conf.Hametraka
worker_processes: Hita ao amin'ny fichier configurationeventsblocs, fikaworker_processessanda. raha tsy izanyeventsblock, mila mamorona iray ianao.nginx events { worker_connections 1024; use epoll; # 或者适用于操作系统的其他事件模型 }
1. Mametraka worker_connections araka ny tokony ho izy
nginx worker_connections Ny parameter dia mamaritra ny isan'ny fifandraisana ambony indrindra azon'ny fizotran'ny mpiasa tsirairay. Raha kely loatra izy io, dia hisy fiantraikany amin'ny fahombiazan'ny concurrency izany raha lehibe loatra, mety handany loharanon-karena be loatra.
Ahoana no kajy ny sanda mety?
Raha heverinao fa manana CPU 4-fototra sy 16GB an'ny RAM ianao, dia toerana iray azo antoka worker_connections 4096.
Fa raha manana fifamoivoizana be ny tranokalanao dia diniho ny hampitombo io sanda io ho 8192 mba hahazoana antoka fa ny dingana tsirairay dia afaka mitantana fangatahana ampy.
events {
worker_connections 8192;
}
Amin'izany fomba izany dia hihatsara be ny herin'ny fanodinana Nginx.
2. Ahitsio keepalive_timeout
Parameter manan-danja iray hafa ho an'ny Nginx hiatrehana ny fangatahana dia keepalive_timeout.
Ity toe-javatra ity no mamaritra ny halavan'ny fifandraisan'ny mpanjifa amin'ny mpizara azo tazonina.
Ny fametrahana ny halavany lava loatra dia mety hitarika fandaniana tafahoatra ny loharanon-karena fifandraisana.
Azonao atao ny manandrana keepalive_timeout Apetraho ao anatin'ny 15 segondra mba hitazonana ny fifandraisana sy hamoahana loharano.
keepalive_timeout 15;
3. Amboary ny fetran'ny famaritana ny rakitra
Amin'ny ankapobeny, ny rafitra Linux dia mametra ny isan'ny famaritana rakitra azon'ny dingana tsirairay sokafana.
Raha mila manamboatra rakitra marobe i Nginx (toy ny loharano static), dia mety ho hitanao ny Nginx mitatitra lesoka, manosika "too many open files".
afaka mandalo ianao worker_rlimit_nofile Ampitomboy ny fetran'ny famaritana rakitra, ohatra apetraka amin'ny 65535.
worker_rlimit_nofile 65535;
4. Alefaso ny cache sy ny gzip
Ny cache sy ny famatrarana dia fanalahidy roa amin'ny fanatsarana ny fahombiazan'ny tranokala.
Amin'ny alàlan'ny fampandehanana ny endri-javatra caching an'ny Nginx, dia azo tehirizina ao amin'ny fahatsiarovana ireo loharano statika (toy ny sary sy rakitra JS) , ka mampihena be ny enta-mavesatry ny mpizara.
Fanampin'izany, ny fampandehanana ny fiasan'ny famatrarana gzip dia mety hampihena ny habetsaky ny angona ampitaina ary hanatsara ny hafainganam-pandehan'ny tranokala.
gzip on;
gzip_types text/plain application/javascript;
5. Famakafakana ny fampiasana loharanon-karena Nginx
Farany, raha nahavita ireo fanatsarana rehetra voalaza etsy ambony ianao fa i Nginx dia mbola maka CPU be dia be, dia mety mila mampiasa fitaovana vitsivitsy ianao amin'ny famakafakana lalina.
使用 top 或 htop Jereo ny fanjifana loharanon-karena amin'ny fotoana tena izy amin'ny dingana iray, mandalo strace Araho ny antson'ny rafitra, na ampiasaina nmon Mamorona tatitra momba ny zava-bita. Amin'ny alàlan'ny famakafakana tanteraka ny tena fiasan'ny Nginx ihany no ahafahantsika manatanteraka fanitsiana mazava kokoa.
famintinana
Aza taitra rehefa miakatra ny fampiasana CPU Nginx. Mety noho ny fikirakirana tsy mety na ny fifamoivoizana be loatra no mahatonga izany.
amin’ny alalan’ny fanitsiana mitombina worker_processes ary worker_connectionsAmin'ny alàlan'ny fampandehanana ny caching, ny fanatsarana ny fe-potoana ary ny famaritana ny rakitra, dia azonao atao ny mampihena be ny tsindry amin'ny Nginx.
Nginx dia mpizara tranonkala matanjaka izay, rehefa amboarina tsara, dia afaka manome fampisehoana tsara ho an'ny tranokalanao.
Tadidio fa azo vahana ara-tsiansa ny olana rehetra, ary tsy ankanavaka amin'izany ny fanatsarana ny fahombiazan'ny mpizara.
Ny fanaraha-maso sy ny fanitsiana ara-potoana no tena ilaina mba hihazonana ny fahombiazan'ny Nginx. Raha mahafehy ireo teknika ireo ianao dia ho voaro tsara ny tranonkalanao na dia eo aza ny fifamoivoizana be loatra na ny fanafihana ratsy.
Manantena aho fa nanome aingam-panahy anao ity lahatsoratra ity, haingana ary amboary ny Nginx anao!
Antenaina fa hanampy anao ilay lahatsoratra hoe "Ahoana no hiatrehana ny enta-mavesatry ny CPU sy ny fampiasana fahatsiarovana be loatra amin'ny mpizara Nginx?" nozaraina tao amin'ny bilaogin'i Chen Weiliang ( https://www.chenweiliang.com/ ).
Aza misalasala mizara ity rohy ity: https://www.chenweiliang.com/cwl-32093.html
