Hur många samtidiga användare klarar en VPS? Gör beräkningen

Allt börjar med en fråga: vad gör de här användarna? Tusen personer som är inloggade i en applikation gör inte tusen förfrågningar per sekund, och en sida som levereras från en cache kostar hundra gånger mindre än en sida som beräknas. Den här guiden översätter användare till förfrågningar, förfrågningar till processor och minne, och visar sedan hur du kontrollerar resultatet med ett belastningstest.

Publicerad den 26 oktober 2026 Av Lästid: 9 minuter

Alla guider

I korthet

  1. Inloggade användare är inte samtidiga förfrågningar: en aktiv användare skickar en förfrågan ungefär var 10:e till 30:e sekund.
  2. Pågående förfrågningar = förfrågningar per sekund × en förfrågans längd (Littles lag). Det är det antalet som servern måste klara.
  3. En vCPU betjänar högst 1 000 ÷ (millisekunder beräkning per förfrågan) förfrågningar per sekund: 20 ms beräkning ger 50 förfrågningar per sekund.
  4. Minnet begränsar antalet workers: varje PHP- eller Python-process tar 40 till 200 MB.
  5. Cachen ändrar allt: en sida från en cache kostar under en millisekund, en beräknad WordPress-sida 100 till 300.
  6. Mät med ett belastningstest (k6, wrk) på en kopia av applikationen, med belastningen i steg.

Från användare till förfrågningar

”Samtidiga användare” betyder tre olika storheter beroende på vem som talar:

Man går från den ena till den andra med Littles lag: antalet pågående förfrågningar är lika med genomströmningen, i förfrågningar per sekund, multiplicerad med en förfrågans genomsnittliga längd.

Exempel. 600 användare som är aktiva samtidigt, och som var och en utlöser en förfrågan var 20:e sekund, ger 30 förfrågningar per sekund. Om varje förfrågan tar 100 ms har servern i genomsnitt bara 3 pågående förfrågningar. Utmaningen ligger någon annanstans: i topparna och i de långsamma förfrågningarna.

Vad en vCPU klarar

En förfrågan upptar processorn under sin beräkning: köra koden, fråga databasen, bygga svaret. En vCPU hanterar därför högst 1 000 ÷ t förfrågningar per sekund, där t är en förfrågans beräkningstid i millisekunder. Tid som går åt till att vänta (på ett externt API, på en disk) upptar inte processorn, men den upptar en worker.

Typ av förfråganTypisk beräkningstidPer vCPU, storleksordning
Statisk fil, eller sida från en cacheUnder 1 msFlera tusen förfrågningar per sekund
WordPress-sida från en sidcache1 till 5 msFlera hundra per sekund
JSON-API (Node.js, Go, FastAPI) med en indexerad SQL-fråga5 till 20 ms50 till 200 per sekund
WordPress- eller Laravel-sida som beräknas vid varje besök100 till 300 ms3 till 10 per sekund
Rapport, export, generering av PDF500 ms till flera sekunderFärre än 2 per sekund

Med de här storleksordningarna upptar 30 API-förfrågningar per sekund med 10 ms beräkning 30 % av en enda vCPU. Samma 30 förfrågningar per sekund mot WordPress-sidor utan cache kräver 3 till 9 vCPU. Sidcachen finns just för att flytta en sida från tabellens fjärde rad till den andra.

Vad minnet klarar

Varje pågående förfrågan hanteras av en worker, och workers tar minne, oavsett om de arbetar eller inte. Det är ofta minnet, mer än processorn, som bestämmer hur många förfrågningar som hanteras parallellt:

Beständiga anslutningar (websockets, aviseringar i realtid) räknas för sig: de är öppna hela tiden, tar lite processor och några tiotals kilobyte minne var. En Node.js-server håller tusentals av dem inom några hundra MB.

De verkliga flaskhalsarna

I en verklig applikation blir servern sällan överbelastad där man väntar sig. De vanligaste orsakerna, i den ordning du bör leta efter dem:

  1. En långsam SQL-fråga: ett saknat index gör en fråga på 2 ms till en fråga på 2 sekunder, som håller kvar en worker och en anslutning. pg_stat_statements i PostgreSQL, eller MySQL:s logg över långsamma frågor, pekar ut den.
  2. Frågor i kaskad (N+1-problemet): en sida som kör en fråga per visad rad kör hundratals.
  3. Ett synkront externt anrop: ett betalnings- eller AI-API som svarar på 3 sekunder blockerar en synkron worker i 3 sekunder.
  4. Tunga bearbetningar i förfrågan: e-postutskick, skalning av bilder, generering av PDF, som bör flyttas till en jobbkö.
  5. Avsaknad av cache: sidor som är likadana för alla besökare levereras från en cache, statiska filer från webbservern.

Kontrollera det: belastningstestet

Storleksordningarna ger en första storlek; ett belastningstest ger den verkliga. Principen: simulera allt fler användare mot en kopia av applikationen och notera när svarstiden rusar iväg.

Terminal: 50 anslutningar i 30 sekunder, med wrk
wrk -t2 -c50 -d30s --latency https://test.din-webbplats.com/

För ett helt flöde (inloggning, navigering, sökning) beskriver k6 ett scenario i JavaScript och ökar belastningen i steg:

k6-skript (test.js), körs med: 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.din-webbplats.com/');
  sleep(15);
}

När belastningen växer

Den ordning som kostar minst och ger mest:

  1. Cacha det som går att cacha (sidor, fragment, frågeresultat) och rätta de långsamma frågorna.
  2. Anpassa antalet workers efter tillgängligt minne och tillgänglig processorkraft.
  3. Gå upp till en större storlek: fler vCPU och mer minne, utan att ändra något i applikationen.
  4. Flytta databasen till en egen server.
  5. Fördela applikationen på flera servrar bakom en lastbalanserare.

De tre första stegen räcker för det stora flertalet affärsapplikationer, webbplatser och API:er: flera hundra användare som är aktiva samtidigt ryms på en enda välinställd server.

En server som växer med dina användare

VPS Pro finns i sex storlekar, på Intel Xeon-processorer, ECC-minne och speglade NVMe-SSD, och byter till en större storlek när som helst, utan ominstallation. Heltäckande support ingår: berätta hur många användare du väntar dig vid lanseringen och om ett år, så rekommenderar vi storleken; och när en sida blir långsam ställer vi diagnosen och talar om vad du ska göra, från systemet ända in i koden i din applikation.

Upptäck VPS Pro

Vanliga frågor

Hur många användare klarar en VPS med 2 vCPU och 4 GB?

För ett API eller en applikation vars förfrågningar tar 10 till 20 ms beräkning, flera hundra användare som är aktiva samtidigt. För en WordPress-webbplats utan sidcache, ungefär hundra. Skillnaden beror på varje förfrågans beräkningstid och på cachen, därav värdet av ett belastningstest.

Hur många besökare per dag klarar en VPS?

Antalet besökare per dag säger inte mycket: det som räknas är toppen. För att gå från det ena till det andra delar du dagens besök med antalet aktiva timmar, multiplicerar med antalet sidvisningar per besök och sedan med en toppfaktor på 3 till 5. 10 000 besök under 10 timmar, med 4 sidor vardera, ger omkring 1 sida per sekund i genomsnitt, och 3 till 5 vid toppen.

Hur vet jag om min server är överbelastad?

Tre tecken: svarstiden stiger med trafiken, processorn ligger över 80 % vid rusningstid, eller det tillgängliga minnet sjunker nära noll. Webbserverns loggar visar då 502- eller 504-fel, och förfrågningarna väntar på en ledig worker.

Ändrar websockets beräkningen?

Ja: en websocket-anslutning är öppen hela tiden. Den förbrukar lite processor och några tiotals kilobyte minne. En Node.js-server håller tusentals av dem; det är meddelandena som skickas, mer än de öppna anslutningarna, som belastar processorn.

Kontakta oss