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:
Ammattilaisten painetestaustyökalujen avulla painetestin tulokset ovat seuraavat:
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)
|