Jeg har målt det maksimale antal tilfælde, som webserveren (Apache) kan håndtere samtidigt ved hjælp af en VPS-lejeserver.


Udgivelsesdato:31. december 2020.



INFOMARTION > Jeg har målt det maksimale antal tilfælde, som webserveren (Apache) kan håndtere samtidigt ved hjælp af en VPS-lejeserver.

Oversigt.

Jeg har målt det maksimale antal sager, som webserveren (Apache) kan behandle på samme tid, og jeg vil gerne skrive om resultaterne. Vi var nysgerrige efter at vide, hvor mange anmodninger der maksimalt kunne betjenes, så vi foretog en undersøgelse. Brug dette som en reference til at vælge specifikationer for VPS-servere.

Denne gang blev der kun foretaget målinger på WEB-serveren (Apache), men se venligst artiklen nedenfor for målinger på WEB/AP-servere (Apache og Tomcat).

Jeg har målt det maksimale antal WEB/AP-servere (Apache og Tomcat), som kan håndtere på samme tid ved hjælp af en VPS-lejeserver.

Indholdsfortegnelse

  1. måling
  2. Detaljerede oplysninger om måleresultater
  3. resumé

1. måling

1-1. Miljø for måling

I det følgende beskrives de omgivelser, hvor målingerne vil blive foretaget.

■Oplysninger om udlejningsserver

CPU2core
memory1GB
SSD50GB

■Serveroplysninger

OSCentOS 7.4 64bit
WebserverApache HTTP Server 2.4.41

1-2. Målemetode

Jeg vil gerne måle dette ved hjælp af JMeter. JMeter er et værktøj til belastningsmåling, der kører i Java. Værktøjet gør det muligt at sende et stort antal anmodninger på samme tid. Vi vil gerne gradvist øge antallet af samtidige anmodninger ved hjælp af JMeter og øge belastningen, indtil behandlingen ikke længere kan håndteres.

Specifikke betingelser omfatter.

  • anmode om interval・・・5 sek.
  • Antal samtidige anmodninger・・・10 tilfælde.(Målingerne blev gradvist forøget med 10 tilfælde hver.)
  • Måling af tid・・・60 sekunder.

Måletiden er "60 sekunder" og anmodningsintervallet "5 sekunder", så du ønsker at få adgang til systemet 12 gange (60÷5) gentagne gange.

1-3. måleresultat

I sidste ende er mange mennesker interesseret i konklusionen om, hvilke specifikationer serveren kan håndtere, og hvor meget den kan håndtere, så jeg vil gerne sige konklusionen først.

CPU:2core
memory:1GB
SSD:50GB
Der kan behandles op til 120 samtidige anmodninger.

Resultaterne af denne måling viste ovenstående. Ovenstående resultater tyder på, at der kan udledes følgende. Prøv at bruge dette som et kriterium, når du vælger serverspecifikationer.

CPU:1core
memory:512MB
SSD:25GB
Der kan behandles op til 60 samtidige anmodninger.
CPU:2core
memory:1GB
SSD:50GB
Der kan behandles op til 120 samtidige anmodninger.
CPU:3core
memory:2GB
SSD:100GB
Der kan behandles op til 240 samtidige anmodninger.

Selv med specifikationer som "CPU: 1core", "hukommelse: 512 MB" og "SSD: 25 GB" blev det konstateret, at et system med omkring 60 personer kunne fungere uden problemer.

2. Detaljerede oplysninger om måleresultater

Vi har beskrevet måleresultaterne tidligere, men hvis du er interesseret i, hvilke resultater vi har beskrevet, kan du også se nærmere oplysninger om måleresultaterne, som vil blive beskrevet i fremtiden.

2-1. Målinger af WEB-server (Apache)

Gentagne anmodninger blev sendt mod sider, der var oprettet i HTML. Dette er en simpel side uden PHP-behandling eller JavaScript-kompleksitet.

Målingerne viste følgende resultater.

  • For 10 samtidige anmodninger⇒OK
  • For 20 samtidige anmodninger⇒OK
  • For 30 samtidige anmodninger⇒OK
  • For 40 samtidige anmodninger⇒OK
  • For 50 samtidige anmodninger⇒OK
  • For 60 samtidige anmodninger⇒OK
  • For 70 samtidige anmodninger⇒OK
  • For 80 samtidige anmodninger⇒OK
  • For 90 samtidige anmodninger⇒OK
  • For 100 samtidige anmodninger⇒OK
  • 110 samtidige anmodninger⇒OK
  • For 120 samtidige anmodninger⇒OK
  • For 130 samtidige anmodninger⇒NG

Der er opstået en fejl ved det 130. tilfælde. Årsagen var en forbindelsesfejl til Apache. Serverens tilstand på dette tidspunkt var som følger.

  • CPU-udnyttelse・・・26%
  • hukommelsesforbrugshastighed・・・100%

En fuldstændig mangel på hukommelse var flaskehalsen.

For de lidt mere nørdede er konfigurationen af Apache Multi-Processing Module (MPM) som følger. MPM forklares ganske enkelt som indstillingen af, hvor meget Apache har lov til at behandle parallelt.

<IfModule mpm_prefork_module>
    StartServers             5
    MinSpareServers          5
    MaxSpareServers         10
    MaxRequestWorkers      250
    MaxConnectionsPerChild   0
</IfModule>

Indstillingen af interesse er "250" for "MaxRequestWorkers". Dette er en indstilling for det maksimale antal sager, som Apache kan behandle på samme tid. '250', så der kunne behandles 250 sager maksimalt parallelt, men hvis man ser på hukommelsesforbruget, blev der brugt ca. 8 MB hukommelse pr. sag.

Det så ud til at bruge 960 MB hukommelse (8M x 120 processer), og indstillingsværdien var '250', men det så ud til, at det ikke var muligt at oprette flere end '120' processer.
※Serverens hukommelse er næsten op til grænsen på 1 G.

Når serveren faktisk drives, hvis PHP og Java også er inkluderet, er grænsen omkring 100 sager, og hvis der er plads, kan 80 sager behandles parallelt på samme tid.

Når kun Apache er installeret og kører, med specifikationerne "CPU: 2core, hukommelse: 1GB, SSD: 50GB", blev antallet af samtidige adganger "120" fundet at være grænsen.

2-2. overvejelse

Herfra bliver det en overvejelse, men da hukommelsen er flaskehalsen, vil antallet af processer, der kan behandles samtidigt, også stige, hvis hukommelsen ændres.

【Til stede.(memory1GB)】

  • memory:1GB
  • Antal Apache-tråde:120 sager
  • Hukommelsesforbrug pr. tråd i Apache.:8MB
  • Apache hukommelsesforbrug:960MB(120 sager×8MB)

【efter ændringen(memory2GB)】

  • memory:2GB
  • Antal Apache-tråde:240 tilfælde.
  • Hukommelsesforbrug pr. tråd i Apache.:8MB
  • Apache hukommelsesforbrug:1920MB(240 tilfælde.×8MB)

Hvis hukommelsen øges til 2 GB, kan det være muligt at fordoble antallet af sager til ca. 240 samtidig. Hvis hukommelsen øges til 3 GB, ser det ud til, at der kan udføres mere samtidig behandling, men "MaxRequestWorkers (maksimalt antal sager, der kan behandles samtidigt)" i Apaches MPM er "250", så det vil også være nødvendigt at justere her, hvis hukommelsen øges yderligere. Omvendt, hvis hukommelsen halveres, vil det være som følger.

【efter ændringen(memory512GB)】

  • memory:512GB
  • Antal Apache-tråde:60 kasser.
  • Hukommelsesforbrug pr. tråd i Apache.:8MB
  • Apache hukommelsesforbrug:480MB(60 kasser.×8MB)

3. resumé

Vi har målt det maksimale antal sager, som webserveren (Apache) kan behandle på samme tid. Det blev konstateret, at et system med omkring 60 personer kunne fungere uden problemer med "CPU: 1core", "hukommelse: 512 MB" og "SSD: 25 GB".

Undersøgelsen er baseret på den antagelse, at ingen anden software kører med marginal ydeevne. Det anbefales at vælge en specifikation med en smule spillerum, da det er en marginalværdi.

Tak, fordi du kiggede med til slutningen.




■INFORMATION

Klik her for at gå til den øverste side med oplysninger.


■PROFILE

Klik her for at se en profil.


■Kontaktoplysninger.

For forespørgsler om artiklen kan du kontakte os her.