Změřil jsem maximální počet případů, které může webový server (Apache) zpracovávat současně pomocí pronajatého serveru VPS.


Datum vydání:31. prosince 2020.



INFOMARTION > Změřil jsem maximální počet případů, které může webový server (Apache) zpracovávat současně pomocí pronajatého serveru VPS.

Přehled.

Změřil jsem maximální počet případů, které může webový server (Apache) zpracovat najednou, a rád bych napsal o výsledcích. Zajímalo nás, jaký je maximální počet požadavků, které lze obsloužit, a proto jsme provedli průzkum. Slouží jako reference pro výběr specifikací serveru VPS.

Tentokrát byla měření provedena pouze na serveru WEB (Apache), ale v níže uvedeném článku naleznete měření na serverech WEB/AP (Apache a Tomcat).

Změřil jsem maximální počet WEB/AP serverů (Apache a Tomcat), které mohou pracovat najednou pomocí pronajatého VPS serveru.

Obsah

  1. měření
  2. Podrobnosti o výsledcích měření
  3. shrnutí

1. měření

1-1. Prostředí měření

Následuje prostředí, ve kterém budou měření prováděna.

■Informace o serveru pronájmu

CPU2core
memory1GB
SSD50GB

■Informace o serveru

OSCentOS 7.4 64bit
Webový serverApache HTTP Server 2.4.41

1-2. Metoda měření

Chtěl bych to změřit pomocí nástroje JMeter. JMeter je nástroj pro měření zátěže spuštěný v jazyce Java. Tento nástroj umožňuje zadávat velké množství požadavků najednou. Rádi bychom postupně zvyšovali počet souběžných požadavků pomocí nástroje JMeter a zvyšovali zátěž, dokud nebude možné zpracování dále zvládat.

Specifické podmínky zahrnují.

  • interval požadavku・・・5 s.
  • Počet souběžných požadavků・・・10 případů.(Měření se postupně zvyšovala vždy o 10 případů.)
  • Měření času・・・60 sekund.

Doba měření je "60 sekund" a interval požadavku "5 sekund", takže chcete do systému přistupovat 12krát (60÷5) opakovaně.

1-3. výsledek měření

Nakonec mnoho lidí zajímá závěr, jaké specifikace server zvládne a kolik toho zvládne, takže bych rád nejprve uvedl závěr.

CPU:2core
memory:1GB
SSD:50GB
Současně lze zpracovat až 120 požadavků.

Výsledky tohoto měření ukázaly výše uvedené skutečnosti. Z výše uvedených výsledků lze vyvodit následující závěry. Zkuste to použít jako kritérium při výběru specifikací serveru.

CPU:1core
memory:512MB
SSD:25GB
Současně lze zpracovat až 60 požadavků.
CPU:2core
memory:1GB
SSD:50GB
Současně lze zpracovat až 120 požadavků.
CPU:3core
memory:2GB
SSD:100GB
Současně lze zpracovat až 240 požadavků.

Bylo zjištěno, že i při specifikacích "procesor: 1jádro", "paměť: 512 MB" a "SSD: 25 GB" může systém pro přibližně 60 osob fungovat bez problémů.

2. Podrobnosti o výsledcích měření

Výsledky měření jsme popsali dříve, ale pokud vás zajímá, jaké výsledky jsme popsali, podívejte se také na podrobnosti o výsledcích měření, které budou popsány v budoucnu.

2-1. Měření WEB serveru (Apache)

Opakované požadavky byly házeny proti stránkám vytvořeným v jazyce HTML. Jedná se o jednoduchou stránku bez složitého zpracování v jazyce PHP nebo JavaScriptu.

Měření ukázala následující výsledky.

  • Pro 10 současných požadavků⇒OK
  • Pro 20 současných požadavků⇒OK
  • Pro 30 současných požadavků⇒OK
  • Pro 40 současných požadavků⇒OK
  • Pro 50 současných požadavků⇒OK
  • Pro 60 současných požadavků⇒OK
  • Pro 70 současných požadavků⇒OK
  • Pro 80 současných požadavků⇒OK
  • Pro 90 současných požadavků⇒OK
  • Pro 100 současných požadavků⇒OK
  • 110 souběžných požadavků⇒OK
  • Pro 120 současných požadavků⇒OK
  • Pro 130 současných požadavků⇒NG

K chybě došlo u 130. případu. Příčinou byla chyba připojení ke službě Apache. Stav serveru byl v té době následující.

  • Vytížení procesoru・・・26%
  • míra využití paměti・・・100%

Úzkým místem byl naprostý nedostatek paměti.

Pro trochu náročnější uživatele je konfigurace víceprocesorového modulu Apache (MPM) následující. MPM se jednoduše vysvětluje jako nastavení, kolik dat může Apache zpracovávat paralelně.

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

Zajímavé je nastavení "250" pro "MaxRequestWorkers". Jedná se o nastavení maximálního počtu případů, které může Apache zpracovávat současně. '250', takže bylo možné paralelně zpracovat maximálně 250 případů, ale při pohledu na využití paměti bylo na jeden případ využito přibližně 8 MB paměti.

Zdálo se, že používá 960 MB paměti (8M x 120 procesů) a hodnota nastavení byla "250", ale zdálo se, že není možné vytvořit více než "120" procesů.
※Paměť serveru je téměř na hranici 1G.

Při skutečném provozu serveru, pokud je zahrnuto i PHP a Java, je limit přibližně 100 případů, a pokud je místo, lze paralelně zpracovávat 80 případů.

Pokud je nainstalován a spuštěn pouze Apache se specifikacemi "CPU: 2core, memory: 1GB, SSD: 50GB", bylo zjištěno, že počet současných přístupů je "120".

2-2. zvážení

Odtud to začíná být na zvážení, ale protože paměť je úzkým hrdlem, pokud se paměť změní, zvýší se i počet procesů, které lze souběžně zpracovávat.

【Přítomni.(memory1GB)】

  • memory:1GB
  • Počet vláken Apache:120 případů
  • Spotřeba paměti na vlákno v systému Apache.:8MB
  • Spotřeba paměti Apache:960MB(120 případů×8MB)

【po změně(memory2GB)】

  • memory:2GB
  • Počet vláken Apache:240 případů.
  • Spotřeba paměti na vlákno v systému Apache.:8MB
  • Spotřeba paměti Apache:1920MB(240 případů.×8MB)

Pokud se paměť zvýší na 2 GB, bude možné zdvojnásobit počet případů na přibližně 240 současně. Pokud se paměť zvýší na 3 GB, zdá se, že bude možné provádět více souběžných zpracování, ale hodnota "MaxRequestWorkers (maximální počet souběžně zpracovávaných případů)" v MPM Apache je "250", takže při dalším zvýšení paměti bude nutné vyladit i tuto hodnotu. Pokud by se naopak paměť zmenšila na polovinu, vypadalo by to následovně.

【po změně(memory512GB)】

  • memory:512GB
  • Počet vláken Apache:60 případů.
  • Spotřeba paměti na vlákno v systému Apache.:8MB
  • Spotřeba paměti Apache:480MB(60 případů.×8MB)

3. shrnutí

Změřili jsme maximální počet případů, které může webový server (Apache) zpracovat najednou. Bylo zjištěno, že systém pro přibližně 60 lidí může bez problémů fungovat s "CPU: 1core", "memory: 512MB" a "SSD: 25GB".

Průzkum vychází z předpokladu, že žádný jiný software nepracuje s mezním výkonem. Doporučuje se zvolit specifikaci s určitou volností, protože se jedná o okrajovou hodnotu.

Děkujeme, že jste se dívali až do konce.




■INFORMATION

Kliknutím sem přejdete na horní stránku s informacemi.


■PROFILE

Kliknutím sem získáte profil.


■Kontaktní údaje.

V případě dotazů k článku nás prosím kontaktujte zde.