Ho misurato il numero massimo di casi che il server web (Apache) può gestire contemporaneamente utilizzando un server VPS in affitto.


Data di pubblicazione:31 dicembre 2020.



INFOMARTION > Ho misurato il numero massimo di casi che il server web (Apache) può gestire contemporaneamente utilizzando un server VPS in affitto.

Panoramica.

Ho misurato il numero massimo di casi che il server web (Apache) può elaborare contemporaneamente e vorrei scrivere i risultati. Eravamo curiosi di conoscere il numero massimo di richieste che potevano essere servite, quindi abbiamo condotto un sondaggio. Utilizzatelo come riferimento per la selezione delle specifiche del server VPS.

Questa volta le misurazioni sono state effettuate solo su WEB (Apache), ma si rimanda all'articolo seguente per le misurazioni sui server WEB/AP (Apache e Tomcat).

Ho misurato il numero massimo di server WEB/AP (Apache e Tomcat) che possono gestire contemporaneamente utilizzando un server VPS in affitto.

Indice dei contenuti

  1. misura
  2. Dettagli sui risultati delle misurazioni
  3. sintesi

1. misura

1-1. Ambiente di misura

L'ambiente in cui verranno effettuate le misurazioni è il seguente.

■Informazioni sul server di noleggio

CPU2core
memory1GB
SSD50GB

■Informazioni sul server

OSCentOS 7.4 64bit
Server webApache HTTP Server 2.4.41

1-2. Metodo di misurazione

Vorrei misurarlo utilizzando JMeter. JMeter è uno strumento di misurazione del carico eseguito in Java. Lo strumento consente di lanciare un gran numero di richieste contemporaneamente. Vorremmo aumentare gradualmente il numero di richieste simultanee utilizzando JMeter e aumentando il carico fino a quando l'elaborazione non può più essere gestita.

Le condizioni specifiche includono.

  • intervallo di richiesta・・・5 sec.
  • Numero di richieste simultanee・・・10 casi.(Le misure sono aumentate gradualmente di 10 casi ciascuna.)
  • Misurare il tempo・・・60 secondi.

Il tempo di misurazione è "60 secondi" e l'intervallo di richiesta "5 secondi", quindi si desidera accedere al sistema 12 volte (60÷5) ripetutamente.

1-3. risultato della misurazione

Alla fine, molte persone sono interessate alla conclusione di quali specifiche il server può gestire e quanto può gestire, quindi vorrei dichiarare prima la conclusione.

CPU:2core
memory:1GB
SSD:50GB
È possibile elaborare fino a 120 richieste simultanee.

I risultati di questa misurazione hanno mostrato quanto sopra. I risultati di cui sopra suggeriscono che si può dedurre quanto segue. Cercate di utilizzare questo criterio nella scelta delle specifiche del server.

CPU:1core
memory:512MB
SSD:25GB
È possibile elaborare fino a 60 richieste simultanee.
CPU:2core
memory:1GB
SSD:50GB
È possibile elaborare fino a 120 richieste simultanee.
CPU:3core
memory:2GB
SSD:100GB
È possibile elaborare fino a 240 richieste simultanee.

Anche con specifiche di "CPU: 1core", "memoria: 512MB" e "SSD: 25GB", si è constatato che un sistema di circa 60 persone poteva funzionare senza problemi.

2. Dettagli sui risultati delle misurazioni

I risultati delle misurazioni sono stati descritti in precedenza, ma se siete interessati al tipo di risultati descritti, consultate anche i dettagli dei risultati delle misurazioni che verranno descritti in futuro.

2-1. Misure del server WEB (Apache)

Sono state lanciate richieste ripetute contro pagine create in HTML. Si tratta di una pagina semplice, senza elaborazione PHP o complessità JavaScript.

Le misurazioni hanno dato i seguenti risultati.

  • Per 10 richieste simultanee⇒OK
  • Per 20 richieste simultanee⇒OK
  • Per 30 richieste simultanee⇒OK
  • Per 40 richieste simultanee⇒OK
  • Per 50 richieste simultanee⇒OK
  • Per 60 richieste simultanee⇒OK
  • Per 70 richieste simultanee⇒OK
  • Per 80 richieste simultanee⇒OK
  • Per 90 richieste simultanee⇒OK
  • Per 100 richieste simultanee⇒OK
  • 110 richieste simultanee⇒OK
  • Per 120 richieste simultanee⇒OK
  • Per 130 richieste simultanee⇒NG

Si è verificato un errore al 130° caso. La causa era un errore di connessione ad Apache. Lo stato del server in quel momento era il seguente.

  • Utilizzo della CPU・・・26%
  • tasso di utilizzo della memoria・・・100%

Il collo di bottiglia era rappresentato dalla totale mancanza di memoria.

Per i più smanettoni, la configurazione di Apache Multi-Processing Module (MPM) è la seguente. L'MPM è semplicemente spiegato come l'impostazione di quanto Apache è autorizzato a elaborare in parallelo.

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

L'impostazione di interesse è "250" per "MaxRequestWorkers". Si tratta di un'impostazione per il numero massimo di casi che Apache può elaborare contemporaneamente. '250', in modo da poter elaborare al massimo 250 casi in parallelo, ma osservando l'uso della memoria, sono stati utilizzati circa 8 MB di memoria per ogni caso.

Sembrava utilizzare 960 MB di memoria (8M x 120 processi) e il valore di impostazione era '250', ma sembrava che non fosse possibile creare più di '120' processi.
※La memoria del server è quasi al limite di 1G.

Quando il server è in funzione, se sono inclusi anche PHP e Java, il limite è di circa 100 casi e, se c'è spazio, è possibile elaborare 80 casi contemporaneamente in parallelo.

Quando è installato e funzionante solo Apache, con le specifiche "CPU: 2core, memoria: 1GB, SSD: 50GB", il numero di accessi simultanei "120" è risultato essere il limite.

2-2. considerazione

Da qui diventa una considerazione, ma poiché la memoria è il collo di bottiglia, se la memoria viene modificata, aumenterà anche il numero di processi che possono essere elaborati simultaneamente.

【Presente.(memory1GB)】

  • memory:1GB
  • Numero di thread Apache:120 casi
  • Consumo di memoria per thread in Apache.:8MB
  • Consumo di memoria di Apache:960MB(120 casi×8MB)

【dopo la modifica(memory2GB)】

  • memory:2GB
  • Numero di thread Apache:240 casi.
  • Consumo di memoria per thread in Apache.:8MB
  • Consumo di memoria di Apache:1920MB(240 casi.×8MB)

Se la memoria viene aumentata a 2 GB, è possibile raddoppiare il numero di casi fino a circa 240 in contemporanea. Se la memoria viene aumentata a 3 GB, sembra che si possa eseguire una maggiore elaborazione concorrente, ma il "MaxRequestWorkers (numero massimo di casi da elaborare in modo concorrente)" dell'MPM di Apache è "250", quindi sarà necessaria una messa a punto anche in questo caso se la memoria viene aumentata ulteriormente. Al contrario, se la memoria viene dimezzata, la situazione è la seguente.

【dopo la modifica(memory512GB)】

  • memory:512GB
  • Numero di thread Apache:60 casi.
  • Consumo di memoria per thread in Apache.:8MB
  • Consumo di memoria di Apache:480MB(60 casi.×8MB)

3. sintesi

Abbiamo misurato il numero massimo di casi che il server web (Apache) può elaborare contemporaneamente. È emerso che un sistema di circa 60 persone può essere gestito senza problemi con "CPU: 1core", "memoria: 512MB" e "SSD: 25GB".

Il sondaggio si basa sul presupposto che nessun altro software stia funzionando a prestazioni marginali. Si consiglia di scegliere una specifica con un po' di margine, poiché si tratta di un valore marginale.

Grazie per aver guardato fino alla fine.




■INFORMATION

Fare clic qui per accedere alla pagina superiore di INFORMAZIONI.


■PROFILE

Cliccare qui per un profilo.


■Dettagli di contatto.

Per richieste di informazioni sull'articolo, contattateci qui.