Koliko sočasnih uporabnikov zdrži VPS: kako to izračunati

Vse se začne z vprašanjem: kaj ti uporabniki počnejo? Tisoč ljudi, prijavljenih v aplikacijo, ne pošlje tisoč zahtev na sekundo, stran, postrežena iz predpomnilnika, pa stane stokrat manj kot izračunana stran. Ta vodnik uporabnike prevede v zahteve, zahteve v procesor in pomnilnik, nato pa pokaže, kako to preverite z obremenitvenim testom.

Objavljeno 26. oktobra 2026 Avtor: Čas branja: 9 minut

Vsi vodniki

Na kratko

  1. Prijavljeni uporabniki niso sočasne zahteve: aktiven uporabnik pošlje zahtevo približno vsakih 10 do 30 sekund.
  2. Zahteve v obdelavi = zahteve na sekundo × trajanje zahteve (Littlov zakon). To število mora strežnik zdržati.
  3. En vCPU postreže največ 1000 ÷ (milisekunde računanja na zahtevo) zahtev na sekundo: 20 ms računanja pomeni 50 zahtev na sekundo.
  4. Pomnilnik omeji število delovnih procesov: vsak proces PHP ali Python zasede od 40 do 200 MB.
  5. Predpomnilnik spremeni vse: stran iz predpomnilnika stane manj kot milisekundo, izračunana stran WordPress od 100 do 300.
  6. Merite z obremenitvenim testom (k6, wrk) na kopiji aplikacije, tako da obremenitev povečujete postopoma.

Od uporabnikov do zahtev

„Sočasni uporabniki“ pomenijo tri različne količine, odvisno od tega, kdo govori:

Od ene do druge pridemo z Littlovim zakonom: število zahtev v obdelavi je enako pretoku, v zahtevah na sekundo, pomnoženemu s povprečnim trajanjem zahteve.

Primer. 600 hkrati aktivnih uporabnikov, od katerih vsak sproži zahtevo vsakih 20 sekund, ustvari 30 zahtev na sekundo. Če vsaka zahteva traja 100 ms, ima strežnik v povprečju le 3 zahteve v obdelavi. Izziv je drugje: v konicah in v počasnih zahtevah.

Koliko zdrži en vCPU

Zahteva zaseda procesor toliko časa, kolikor traja njeno računanje: izvajanje kode, poizvedba v podatkovni zbirki, sestavljanje odgovora. En vCPU tako obdela največ 1000 ÷ t zahtev na sekundo, kjer je t čas računanja ene zahteve v milisekundah. Čas čakanja (zunanji API, disk) procesorja ne zaseda, zaseda pa delovni proces.

Vrsta zahteveObičajen čas računanjaNa vCPU, red velikosti
Statična datoteka ali stran iz predpomnilnikaManj kot 1 msVeč tisoč zahtev na sekundo
Stran WordPress iz predpomnilnika strani1 do 5 msVeč sto na sekundo
API JSON (Node.js, Go, FastAPI) z indeksirano poizvedbo SQL5 do 20 ms50 do 200 na sekundo
Stran WordPress ali Laravel, izračunana ob vsakem obisku100 do 300 ms3 do 10 na sekundo
Poročilo, izvoz, ustvarjanje PDF500 ms do več sekundManj kot 2 na sekundo

Po teh redih velikosti 30 zahtev API na sekundo z 10 ms računanja zasede 30 % enega samega vCPU. Enakih 30 zahtev na sekundo na straneh WordPress brez predpomnilnika zahteva od 3 do 9 vCPU. Predpomnilnik strani je namenjen prav temu, da stran iz četrte vrstice preglednice premakne v drugo.

Koliko zdrži pomnilnik

Vsako zahtevo v obdelavi prevzame delovni proces (worker), delovni procesi pa zasedajo pomnilnik, ne glede na to, ali delajo ali ne. Število vzporedno obdelanih zahtev pogosto bolj kot procesor določi prav pomnilnik:

Trajne povezave (websocketi, obvestila v realnem času) se štejejo posebej: ker so stalno odprte, porabijo malo procesorja in vsaka nekaj deset kilobajtov pomnilnika. Strežnik Node.js jih zdrži na tisoče v nekaj sto MB.

Prava ozka grla

V resnični aplikaciji se strežnik le redko zasiti tam, kjer to pričakujemo. Najpogostejši vzroki, v vrstnem redu, v katerem jih iščete:

  1. Počasna poizvedba SQL: manjkajoči indeks poizvedbo z 2 ms spremeni v poizvedbo z 2 sekundama, ki zadrži delovni proces in povezavo. pg_stat_statements v PostgreSQL ali dnevnik počasnih poizvedb v MySQL jo pokaže.
  2. Kaskadne poizvedbe (problem N+1): stran, ki sproži eno poizvedbo za vsako prikazano vrstico, jih sproži na stotine.
  3. Sinhroni zunanji klic: API za plačila ali umetno inteligenco, ki odgovori v 3 sekundah, sinhroni delovni proces blokira za 3 sekunde.
  4. Zahtevne obdelave znotraj zahteve: pošiljanje e-pošte, spreminjanje velikosti slik, ustvarjanje PDF, ki jih prestavite v čakalno vrsto opravil.
  5. Odsotnost predpomnilnika: strani, enake za vse obiskovalce, se strežejo iz predpomnilnika, statične datoteke pa neposredno s spletnega strežnika.

Preverjanje: obremenitveni test

Redi velikosti dajo prvo velikost; obremenitveni test da pravo. Načelo: na kopiji aplikacije simulirate vse več uporabnikov in zabeležite trenutek, ko se odzivni čas poslabša.

Terminal: 50 povezav 30 sekund, z orodjem wrk
wrk -t2 -c50 -d30s --latency https://test.vasa-stran.com/

Za celoten potek (prijava, brskanje, iskanje) k6 opiše scenarij v JavaScriptu in obremenitev povečuje postopoma:

Skript k6 (test.js), ki ga zaženete z ukazom: k6 run test.js
import http from 'k6/http';
import { sleep } from 'k6';

export const options = {
  stages: [
    { duration: '2m', target: 100 },
    { duration: '5m', target: 100 },
    { duration: '2m', target: 300 },
    { duration: '5m', target: 300 },
    { duration: '2m', target: 0 },
  ],
  thresholds: { http_req_duration: ['p(95)<500'] },
};

export default function () {
  http.get('https://test.vasa-stran.com/');
  sleep(15);
}

Ko obremenitev raste

Vrstni red, ki stane najmanj in prinese največ:

  1. Predpomnite, kar je mogoče (strani, dele strani, rezultate poizvedb), in popravite počasne poizvedbe.
  2. Število delovnih procesov prilagodite razpoložljivemu pomnilniku in procesorju.
  3. Preidite na večjo velikost: več vCPU in pomnilnika, brez kakršne koli spremembe aplikacije.
  4. Podatkovno zbirko postavite na lasten strežnik.
  5. Aplikacijo porazdelite na več strežnikov za izenačevalnikom obremenitve.

Prvi trije koraki pokrijejo veliko večino poslovnih aplikacij, spletnih strani in API-jev: več sto hkrati aktivnih uporabnikov zdrži en sam dobro nastavljen strežnik.

Strežnik, ki raste z vašimi uporabniki

VPS Pro je na voljo v šestih velikostih, na procesorjih Intel Xeon, pomnilniku ECC in zrcaljenih NVMe SSD, na večjo velikost pa preide kadar koli, brez ponovne namestitve. Celovita podpora je vključena: povejte nam, koliko uporabnikov pričakujete ob zagonu in čez eno leto, in svetujemo vam velikost; ko se stran upočasni, pa postavimo diagnozo in vam povemo, kaj storiti, od sistema do kode vaše aplikacije.

Odkrijte VPS Pro

Pogosta vprašanja

Koliko uporabnikov zdrži VPS z 2 vCPU in 4 GB?

Pri API-ju ali aplikaciji, katere zahteve porabijo od 10 do 20 ms računanja, več sto hkrati aktivnih uporabnikov. Pri spletni strani WordPress brez predpomnilnika strani približno sto. Razlika izhaja iz časa računanja vsake zahteve in iz predpomnilnika, zato je obremenitveni test tako koristen.

Koliko obiskovalcev na dan lahko sprejme VPS?

Število obiskovalcev na dan pove malo: šteje konica. Za prehod od enega do drugega obiske v dnevu delite z urami dejavnosti, pomnožite s številom ogledanih strani na obisk, nato pa še s faktorjem konice od 3 do 5. 10.000 obiskov v 10 urah, po 4 strani vsak, pomeni v povprečju približno 1 stran na sekundo, v konici pa od 3 do 5.

Kako vem, ali je moj strežnik zasičen?

Trije znaki: odzivni čas narašča s prometom, procesor ob konicah ostaja nad 80 % ali razpoložljivi pomnilnik pade skoraj na nič. Dnevniki spletnega strežnika tedaj kažejo napake 502 ali 504, zahteve pa čakajo na prost delovni proces.

Ali websocketi spremenijo izračun?

Da: povezava websocket ostane stalno odprta. Porabi malo procesorja in nekaj deset kilobajtov pomnilnika. Strežnik Node.js jih zdrži na tisoče; procesor bolj kot odprte povezave obremenjujejo poslana sporočila.

Stopite v stik z nami