Virheet ja vastakoodit
Yleisiä vinkkejä
- varmista, että kuormitustestattava URL on käytettävissä ja julkisesti saatavilla ennen kuormitus- tai suorituskykytestien suorittamista
- tarkista HTTP-menetelmä (GET on pyyntö, jonka selaimet tekevät käytettäessä verkkosivustoa tai API-päätepistettä)
- aloita pienellä asiakasmäärällä (25-50 asiakasta) ja tarkista virhemäärä
- kokeile kasvattaa asiakasmäärää asteittain ymmärtääksesi kuinka API:si, verkkosivustosi tai verkkosovelluksesi käyttäytyy
- tarkista aika, latenssi, osumat, läpimeno ja virheet jokaisessa testissä järjestelmäsi suorituskyvyn arvioimiseksi
3xx-vastakoodit (uudelleenohjaus)
- jos kuormitustestiin lisätty URL tekee uudelleenohjauksia toiseen URL:iin
- jos testaat uudelleenohjausta, kokeile tehdä kuormitustesti lopulliseen URL:iin uudelleenohjausten jälkeen
- poista "Follow redirects" -valintaruutu URL:n vierestä jos haluat välttää pyyntöjesi uudelleenohjausta ja tehdä kuormitustestin lisättyyn URL:iin
4xx-vastakoodit (asiakaspuolen virheet)
- URL on oikein ja julkisesti saatavilla
- tarkista käytetty HTTP-menetelmä: GET, POST, PUT tai DELETE (GET on pyyntö, jonka selaimet tekevät käytettäessä verkkosivustoa tai API-päätepistettä)
- pyyntöjen otsikot, evästeet, kyselyparametrit tai HTTP-perustodennusparametrit on asetettu oikein
5xx-vastakoodit (palvelinpuolen virheet)
- vastakoodi, yleensä jos kuormitustestattava API, verkkosivusto, verkko- tai mobiilisovellus ei käsittele kuormitusta kunnolla, alat vastaanottaa 503 Service Unavailable -vastauksia
- kokeile vähentää asiakasmäärää (samanaikaisia käyttäjiä) kuormitustestissäsi ja tarkista järjestelmäsi rajat
Lisätietoja verkkosivustojen ja API:en kuormitustestauksesta pilvessä LoadFocus-kuormitustestaustyökalulla, katso Kuormitustestauspalvelu tai JMeter-kuormitustestauspalvelu.
Vastakoodit (Täydellinen luettelo)
w3schools.com:n mukaan tässä on luettelo HTTP-tilaviesteistä, joita saatetaan palauttaa suoritettaessa kuormitustestiä API-päätepisteille, verkkosivustoille, verkko- ja mobiilisovelluksille:
1xx: Tiedotus
- 100 Continue Palvelin on vastaanottanut pyyntöotsikot ja asiakkaan tulisi jatkaa pyyntörungon lähettämistä
- 101 Switching Protocols Pyytäjä on pyytänyt palvelinta vaihtamaan protokollia
- 103 Checkpoint Käytetään uudelleenaloitettavien pyyntöjen ehdotuksessa keskeytettyjen PUT- tai POST-pyyntöjen jatkamiseen
2xx: Onnistunut
- 200 OK Pyyntö on OK (tämä on onnistuneiden HTTP-pyyntöjen vakiovastaus)
- 201 Created Pyyntö on täytetty ja uusi resurssi on luotu
- 202 Accepted Pyyntö on hyväksytty käsittelyyn, mutta käsittelyä ei ole vielä suoritettu loppuun
- 203 Non-Authoritative Information Pyyntö on käsitelty onnistuneesti, mutta palauttaa tietoa, joka voi olla toisesta lähteestä
- 204 No Content Pyyntö on käsitelty onnistuneesti, mutta ei palauta sisältöä
- 205 Reset Content Pyyntö on käsitelty onnistuneesti, mutta ei palauta sisältöä ja vaatii pyytäjää nollaamaan dokumenttinäkymän
- 206 Partial Content Palvelin toimittaa vain osan resurssista asiakkaan lähettämän range-otsikon vuoksi
3xx: Uudelleenohjaus
- 300 Multiple Choices Linkkilista. Käyttäjä voi valita linkin ja siirtyä kyseiseen sijaintiin. Enintään viisi osoitetta
- 301 Moved Permanently Pyydetty sivu on siirretty pysyvästi uuteen URL:iin
- 302 Found Pyydetty sivu on siirretty tilapäisesti uuteen URL:iin
- 303 See Other Pyydetty sivu löytyy toisesta URL:sta
- 304 Not Modified Osoittaa, että pyydettyä sivua ei ole muokattu viimeisen pyynnön jälkeen
- 306 Switch Proxy Ei enää käytössä
- 307 Temporary Redirect Pyydetty sivu on siirretty tilapäisesti uuteen URL:iin
- 308 Resume Incomplete Käytetään uudelleenaloitettavien pyyntöjen ehdotuksessa keskeytettyjen PUT- tai POST-pyyntöjen jatkamiseen
4xx: Asiakasvirhe
- 400 Bad Request Pyyntöä ei voida täyttää virheellisen syntaksin vuoksi
- 401 Unauthorized Pyyntö oli laillinen, mutta palvelin kieltäytyy vastaamasta. Käytetään kun todennus on mahdollista mutta epäonnistui tai sitä ei ole vielä annettu
- 402 Payment Required Varattu tulevaa käyttöä varten
- 403 Forbidden Pyyntö oli laillinen, mutta palvelin kieltäytyy vastaamasta
- 404 Not Found Pyydettyä sivua ei löytynyt, mutta se saattaa olla saatavilla tulevaisuudessa
- 405 Method Not Allowed Pyyntö tehtiin sivulle käyttäen pyyntömenetelmää, jota sivu ei tue
- 406 Not Acceptable Palvelin voi tuottaa vain vastauksen, jota asiakas ei hyväksy
- 407 Proxy Authentication Required Asiakkaan on ensin todennettava itsensä välityspalvelimelle
- 408 Request Timeout Palvelimen aikakatkaisu pyynnön odottamisessa
- 409 Conflict Pyyntöä ei voitu suorittaa pyynnön ristiriidan vuoksi
- 410 Gone Pyydetty sivu ei ole enää saatavilla
- 411 Length Required "Content-Length" ei ole määritelty. Palvelin ei hyväksy pyyntöä ilman sitä
- 412 Precondition Failed Pyynnön ennakkoehto arvioitiin palvelimen toimesta epätodeksi
- 413 Request Entity Too Large Palvelin ei hyväksy pyyntöä, koska pyyntöentiteetti on liian suuri
- 414 Request-URI Too Long Palvelin ei hyväksy pyyntöä, koska URL on liian pitkä
- 415 Unsupported Media Type Palvelin ei hyväksy pyyntöä, koska mediatyyppiä ei tueta
- 416 Requested Range Not Satisfiable Asiakas on pyytänyt osaa tiedostosta, mutta palvelin ei voi toimittaa kyseistä osaa
- 417 Expectation Failed Palvelin ei voi täyttää Expect-pyyntöotsikkokentän vaatimuksia
5xx: Palvelinvirhe
- 500 Internal Server Error Yleinen virheilmoitus kun tarkempaa viestiä ei ole saatavilla
- 501 Not Implemented Palvelin ei joko tunnista pyyntömenetelmää tai siltä puuttuu kyky täyttää pyyntö
- 502 Bad Gateway Palvelin toimi yhdyskäytävänä tai välityspalvelimena ja vastaanotti virheellisen vastauksen ylävirran palvelimelta
- 503 Service Unavailable Palvelin on tällä hetkellä poissa käytöstä (ylikuormitettu tai alhaalla)
- 504 Gateway Timeout Palvelin toimi yhdyskäytävänä tai välityspalvelimena eikä saanut vastausta ajoissa ylävirran palvelimelta
- 505 HTTP Version Not Supported Palvelin ei tue pyynnössä käytettyä HTTP-protokollaversiota
- 511 Network Authentication Required Asiakkaan on todennettava saadakseen verkkoyhteyden
Muu: Yhteysvirhe
Kuormitustestiin lisättyyn URL:iin ei voitu päästä jostakin seuraavista syistä: -- URL ei ole julkisesti saatavilla (tuemme vain URL:eja, jotka ovat julkisesti saatavilla Internetin kautta) -- järjestelmä kaatui jostain syystä