Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 6864|Vastaus: 4

Nginx HTTP -pyyntöjen samanaikaisuuden käytännön optimointi

[Kopioi linkki]
Julkaistu 16.1.2022 13.46.40 | | | |
Verkkosivuston ohjelma kehitetään asp.net ytimellä, selain pyytää sivua, ja palvelimen täytyy kulkea nginx-käänteisen välityspalvelimen kautta .NET-ohjelmaan käsiteltäväksi, ja stressitestin aikana se raportoi 503-virheen:

503-palvelu tilapäisesti poissa käytöstä

503 on HTTP-tilakoodi, joka johtuuVäliaikaisen palvelimen ylläpidon tai ylikuormituksen vuoksi palvelin ei tällä hetkellä pysty käsittelemään pyyntöjä。 Tämä tila on väliaikainen ja palautetaan jonkin ajan kuluttua.

Yleisesti ottaen 503-virhe johtuu pääasiassa suuresta määrästä verkkosivuston käyntejä, jotka johtuvat liiallisesta liikenteestä tai suuresta määrästä samanaikaisuutta.

Tynnyrin periaatteen analyysin mukaan suorituskykypullonkauloja aiheuttaa monia tekijöitä, ensinnäkin Linuxin viritysviite on seuraava:

Linux (CentOS) rajoittaa palvelimen suorituskyvyn säätöä
https://www.itsvse.com/thread-10134-1-1.html

Ammattilaisten painetestaustyökalujen avulla painetestin tulokset ovat seuraavat:

.NET/C# Load Test NBomber Simple Tutorial
https://www.itsvse.com/thread-9993-1-1.html



Nginx-viritys

worker_processes Asetetaan automaattiseksi seuraavasti:

Anna nginxin mukautua automaattisesti tarpeisiisi.

Tapahtumien ympäristöt ovat seuraavat:

Käytä epoll-tilaa lisätäksesi samanaikaisten yhteyksien määrää, kasvattaaksesi nginx-järjestelmän samanaikaisten yhteyksien kapasiteettia ja asettaaksesi maksimimäärän yhteyksiä, joita työntekijät voivat avata samanaikaisesti. Asiakirjan esittely:Hyperlinkin kirjautuminen on näkyvissä.

Virityksen jälkeen suoritetaan painetesti, eikä 503-virhettä enää ole, kuten alla olevassa kuvassa näkyy:


Jos käytät nginx-käänteistä välityspalvelinta lähettääksesi eteenpäin php-fpm:ään, saatat saada seuraavan virheen:

2022/01/16 16:08:01 [kriittinen osuma] 968#0: *12955 open() "/alidata/www/itsvse_web/50x.html" epäonnistui (24: Liian monta avointa tiedostoa), asiakas: 100.116.153.2, palvelin:www.itsvse.com, request: "GET /forum.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "www.itsvse.com"
2022/01/16 16:08:01 [hälytys] 968#0: *12956 socket() epäonnistui (24: Liian monta avointa tiedostoa) kun yhdistettiin ylävirtaan, asiakas: 100.116.153.109, palvelin:www.itsvse.com, request: "GET /forum.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "www.itsvse.com"
2022/01/16 16:08:01 [kriittinen osuma] 968#0: *12956 open() "/alidata/www/itsvse_web/50x.html" epäonnistui (24: Liian monta avointa tiedostoa), asiakas: 100.116.153.109, palvelin:www.itsvse.com, request: "GET /forum.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "www.itsvse.com"



Aseta worker_rlimit_nofile parametrit seuraavasti:



Dokumentaatio:Hyperlinkin kirjautuminen on näkyvissä.

(Loppu)





Edellinen:Ero ja yhteys Ubuntun, CentOS:n ja RedHatin välillä
Seuraava:OceanBase-tietokannan hallintatyökalun lataus
Julkaistu 16.1.2022 21.02.14 |
Tule ja opi uudelleen
Julkaistu 24.1.2022 11.18.47 |
Opin sen, kiitos
 Vuokraisäntä| Julkaistu 30.3.2023 10.01.36 |
Nginx:413 Pyydä liian suuri entiteetti
https://www.itsvse.com/thread-10545-1-1.html
 Vuokraisäntä| Julkaistu 30.3.2023 10.01.45 |
Nginx lisää HTTP/2-protokollan käyttöönoton
https://www.itsvse.com/thread-10307-1-1.html
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com