Apache Bench - Panoramica

I test delle prestazioni si sono rivelati cruciali per il successo di un'azienda. Un sito con prestazioni scadenti non solo deve affrontare perdite finanziarie, ma a volte può anche portare a ripercussioni legali.

Nessuno vuole sopportare un sito lento e inaffidabile in importanti interazioni online come acquisti, test online, pagamento delle bollette, ecc. Con Internet essendo così ampiamente disponibile, la gamma di alternative è immensa. È più facile perdere clienti che acquisirli e le prestazioni sono un punto di svolta fondamentale.

Necessità di uno strumento di verifica del carico

Se riusciamo a capire qual è la necessità di uno strumento di test di carico, ci darà la ragione e la motivazione per usarlo. Alcuni famosi siti aziendali hanno subito gravi tempi di inattività quando ottengono un gran numero di visitatori. I siti web di e-commerce investono molto nelle campagne pubblicitarie, ma non nel test di carico. Pertanto, non riescono a garantire prestazioni di sistema ottimali, quando il marketing porta traffico.

Un altro esempio familiare di ignorare il test di carico è quello di "errore durante la creazione della connessione" nei siti Web di WordPress. Pertanto, è una buona idea caricare testare un sito Web o un'applicazione prima della sua distribuzione in produzione. È bello stabilire rapidamente lo scenario migliore per un progetto prima di eseguire test più dettagliati lungo la strada.

Cos'è Apache Bench?

Apache Bench (ab) è uno strumento dell'organizzazione Apache per il benchmarking di un server Web HTTP (Hypertext Transfer Protocol). Sebbene sia progettato per misurare le prestazioni del server Web Apache, può anche essere utilizzato per testare qualsiasi altro server Web altrettanto valido. Con questo strumento, puoi sapere rapidamente quante richieste al secondo è in grado di servire il tuo server web.

Caratteristiche di Apache Bench

Vediamo le caratteristiche e i limiti importanti di Apache Bench. Le caratteristiche e le limitazioni sono elencate di seguito:

  • Essendo un software open source, è disponibile gratuitamente.

  • È un semplice programma per computer a riga di comando.

  • È uno strumento indipendente dalla piattaforma. Significa che può essere invocato altrettanto bene su Linux / Unix o su server Windows.

  • Può eseguire test di carico e prestazioni solo per il server Web: HTTP o HTTPS.

  • Non è estensibile.

Apache Bench utilizza un solo thread del sistema operativo indipendentemente dal livello di concorrenza (specificato dal flag -c). Pertanto, durante il benchmarking di server ad alta capacità, una singola istanza di Apache Bench può essere essa stessa un collo di bottiglia. Per saturare completamente l'URL di destinazione, è meglio utilizzare istanze aggiuntive di Apache Bench in parallelo, se il tuo server ha più core del processore.

Precauzione

È necessario essere consapevoli del fatto che non esiste alcuna direttiva in Apache Bench per aumentare la concorrenza in determinati intervalli durante l'esecuzione dei test. Pertanto, eseguire test di carico utilizzando ab equivale a un attacco Denial of Service (DOS). Si consiglia di informare e ottenere l'autorizzazione preventiva dal proprio fornitore di servizi VPS se si intende eseguire test di carico pesante per un lungo periodo di tempo. Ti assegneranno un intervallo di tempo appropriato o sposteranno il tuo nodo per l'attività di test di carico.

In secondo luogo, se stai testando il sito Web di una terza persona continuamente e per molto tempo solo per imparare Apache Bench dal tuo VPS (che diventa il nodo di test), esiste una remota possibilità che il tuo IP pubblico VPS possa essere bloccato dal sito Web della terza persona permanentemente. In tal caso, non sarai in grado di connetterti a quel sito Web con lo stesso IP. Ma se vuoi davvero connetterti al sito Web in futuro, l'unica soluzione sarà parlare con l'amministratore di sistema del sito Web di destinazione o creare una nuova istanza del server con un IP diverso con l'aiuto del tuo fornitore di servizi VPS.

Dopo averti avvertito, lascia che ti assicuri che tutti i test in questo tutorial sono abbastanza sicuri e fuori da ciò che gli amministratori di sistema chiamano generalmente pratiche di "abuso del sistema".