7 strumenti per stressare il tuo sito Web per traffico intenso

Articolo scritto da:
  • Strumenti Web
  • Aggiornato: Jun 24, 2020

Anche il più alle prime armi tra i proprietari di siti Web ha, ad un certo punto, testato le prestazioni del proprio sito Web. Tuttavia, la maggior parte di questi test si concentra normalmente su velocità di caricamento or indici di esperienza utente.

Ma per quanto riguarda i test di carico?

Sebbene la maggior parte dei siti Web sia soggetta a livelli di traffico che di solito sono abbastanza regolari, ci possono essere occasioni in cui alcuni siti dovranno affrontare carichi pesanti. Esempi di questi includono negozi online o persino alcuni siti Web governativi.

Se il tuo sito web ottiene un picco imprevisto nel numero di visitatori in un breve periodo, quanto sei in grado di gestirlo?

Comprensione del test di carico

Che cos'è il test di carico?

Il test del carico sta segnando un banco di prova su un sito Web per vedere come si comporta sotto vari carichi.

Ad esempio, un test può simulare un numero crescente di visitatori simultanei che atterrano sul tuo sito. Registra anche come il tuo sito li gestisce e li registra come riferimento.

Esempio di prove di carico
Esempio: test di carico su LoadStorm: le metriche misurate includono il tempo di risposta medio, il tempo di risposta di picco e il tasso di errore (fonte immagine).

Quali tipi di "carico" vengono testati?

A seconda dello strumento che scegli di caricare testare il tuo sito, ognuno può avere diverse funzionalità. Il più semplice prevede semplicemente la simulazione di un carico sempre crescente e l'arresto in caso di crash del sito.

Altri strumenti possono essere in grado di generare un carico simulato che imita il comportamento diverso dell'utente, come eseguire query, cambiare pagina o caricare altre funzioni. Alcuni potrebbero persino essere in grado di mappare i flussi logici per ogni singolo scenario.

Strumenti di test del carico da considerare

A seconda della loro complessità, alcuni strumenti di test del carico possono essere piuttosto costosi. Tuttavia, ci sono opzioni più economiche sul mercato e alcune sono persino gratuite per l'uso. Ho incluso una combinazione di questi di seguito per riferimento, tra cui un paio di opzioni open source.

1. Loadview di Dotcom Monitor

Sito web: https://www.loadview-testing.com/

Prezzo: da $ 199 / mese, prova gratuita disponibile

Loadview è una delle soluzioni più complete disponibili sul mercato e oggi si basa su un modello di servizio cloud. Ciò significa che qualunque tipo di simulazione ti serva, paghi solo per il servizio: non ci sono investimenti in hardware o altro.

Per quanto riguarda le funzionalità, Loadview offre una soluzione molto complessa che può includere qualsiasi cosa Test di carico HTTP ad un sofisticato mix di tua scelta. È in grado di simulare variabili dinamiche e persino diversità di geolocalizzazione nei suoi test.

Caratteristiche

  • Test post-firewall
  • Gestisce variabili dinamiche
  • Grafici a cascata dettagliati
  • Curve di prova del carico

2. K6 Cloud (precedentemente Load Impact)

Sito web: https://k6.io/

Prezzo: da $ 49 / mese

K6 è uno strumento di test del carico open source basato su cloud fornito come servizio. Una delle cose che rende interessante questo strumento è che ha un prezzo su un modello ad uso variabile, il che significa che il costo di ingresso può essere relativamente basso a seconda delle esigenze. Tuttavia, è principalmente incentrato sullo sviluppatore.

Oltre ai test di carico, K6 offre anche il monitoraggio delle prestazioni. Il suo lato di test del carico è focalizzato su carichi elevati e può gestire varie modalità come picchi, prove di stress e corse di resistenza.

* K6 non funziona nei browser né funziona in NodeJS

Caratteristiche

  • API compatibili con gli sviluppatori.
  • Scripting in JavaScript
  • Monitoraggio delle prestazioni

3. Carica Ninja

Sito web: https://loadninja.com/

Prezzo: da $ 270.73 / mese

Load Ninja ti consente di testare il carico con browser reali basati su script registrati e quindi aiuta ad analizzare i risultati delle prestazioni. L'uso di browser reali su larga scala significa che questo strumento aiuta a ricreare un ambiente più realistico e il risultato finale per i test.

I risultati possono essere analizzati in tempo reale e grazie ai pratici strumenti forniti dal sistema, il tempo di scripting può essere ridotto fino al 60%. È possibile testare anche le applicazioni interne, sia con IP fissi basati su proxy sia con la propria gamma di IP dinamici (utilizzando un whitelister).

Caratteristiche

  • Prova con migliaia di browser reali
  • Diagnosticare i test in tempo reale
  • Approfondimenti sulle prestazioni interne dell'applicazione

4. LoadRunner di Micro Focus

Sito web: https://www.microfocus.com/

Prezzo: da $ 0

Con un account di comunità gratuito entry-level che supporta i test di 50 utenti virtuali, LoadRunner è disponibile anche per i più recenti proprietari di siti Web. Tuttavia, se lo si scala a livelli elevati, il costo aumenta in modo esponenziale.

Questo servizio basato su cloud offre anche l'uso di un ambiente di sviluppo integrato per i test unitari. Supporta una vasta gamma di ambienti applicativi tra cui Web, Mobile, WebSocket, Citrix, Java, .NET e molti altri. Ricorda che LoadRUnner può essere piuttosto complesso e presenta una curva di apprendimento ripida.

Caratteristiche

  • Motore brevettato di autocorrelazione
  • Supporta oltre 50 tecnologie e ambienti applicativi
  • Riproduce processi aziendali reali con script

5. Caricatore

Caricatore

Sito web: https://loader.io/

Prezzo: da $ 0

Rispetto a ciò che abbiamo mostrato finora, Loader è uno strumento molto più semplice e di base. Il suo piano gratuito supporta i test di carico con un massimo di 10,000 utenti virtuali, il che è sufficiente per i siti Web a traffico moderato.

Sfortunatamente dovrai disporre di un piano a pagamento per accedere a funzionalità più avanzate come analisi avanzate, test simultanei e supporto prioritario. È facile da usare anche se in pratica aggiungi semplicemente il tuo sito, specifica i parametri, quindi esegui il test.

Caratteristiche

  • Grafici e statistiche condivisibili
  • Utilizzabile in un formato GUI o API
  • Supporta verifica DNS e caricatori di priorità

6. Gatling

Homepage di Gatling

Sito web: https://gatling.io/

Prezzo: da $ 0

Gatling è disponibile in due versioni, Open Source o Enterprise. Il primo consente di testare il carico come integrazione con la propria pipeline di sviluppo. Include sia un registratore web che un generatore di report con il piano. La versione Enterprise ha distribuzioni on-premise o, in alternativa, puoi optare per una versione Cloud basata su Amazon Web Services (AWS).

Sebbene entrambe queste versioni siano ricche di funzionalità, la versione Enterprise supporta alcuni extra che non vengono forniti con Open Source. Ad esempio, ha un'interfaccia di gestione più utilizzabile e supporta una gamma più ampia di integrazioni.

Caratteristiche

  • Scripting multiprotocollo
  • Test e throughput illimitati
  • Gatling scripting DSL

7. The Grinder

Strumento di test del carico della smerigliatrice

Sito web: http://grindr.sourceforge.net/

Prezzo: da $ 0

Grinder è completamente open source ed è probabilmente l'unica opzione veramente gratuita in questo elenco. Tuttavia, per funzionare, deve essere eseguito localmente nel proprio ambiente di sviluppo e necessita di alcuni extra come Java.

Tuttavia, essendo open source è stato ampiamente adottato e gli sviluppatori hanno escogitato un numero abbondante di plug-in che lo estendono notevolmente in termini di capacità d'uso e funzionalità. Tuttavia, a meno che tu non sia uno sviluppatore o così orientato, The Grinder potrebbe essere una manciata da usare.

Caratteristiche

  • Scripting flessibile basato su Jython e Clojure
  • Altamente modulare con tonnellate di plugin
  • Framework distribuito e supporto HTTP maturo

Quando caricare Prova il tuo sito Web?

Se hai dato un'occhiata alla maggior parte degli strumenti disponibili, probabilmente avrai notato che molti di essi offrono account di prova o qualche forma di versione gratuita limitata. Questo li rende prontamente disponibili per l'uso per un vasto pubblico.

La maggior parte dei proprietari di siti Web deve preoccuparsi prestazioni di hosting poiché colpisce molto più di semplicemente esperienza dell'utente. Per molti imprenditori, la disponibilità del tuo sito Web è anche una questione di reputazione del marchio.

I siti in crescita devono prestare particolare attenzione alla disponibilità e alla scalabilità delle risorse utilizzate ospita il tuo sito web. Nella maggior parte dei casi, un'alta percentuale di tempo di risposta dell'utente viene spesa sulla superficie del tuo sito. Tuttavia, poiché i siti aumentano nel volume del traffico, questo potrebbe cambiare.

Più traffico di solito significa una crescita sproporzionata nell'elaborazione del back-end e il tuo sistema avrà difficoltà. Molto dipenderà da variabili uniche per lo sviluppo del tuo sito, quindi non è possibile darti un numero solido di visitatori a questo punto.

Per vedere realisticamente le prestazioni del tuo sito, devi eseguire i test di carico. Esattamente quando farlo è discutibile, ma il mio consiglio sarebbe di pianificare in anticipo e testare in anticipo.

Cosa controllare quando si verifica il carico?

Come suggerisce il nome stesso, la tua funzione principale dovrebbe essere la base di come il tuo sito funziona sotto carichi. Questo ti permetterà di osservare una serie di cose come:

  1. A che punto le prestazioni del tuo sito iniziano a peggiorare
  2. Cosa succede effettivamente quando il servizio peggiora

Quando ho menzionato il modo in cui diversi siti possono reagire in modo diverso in base alla loro architettura, questo è stato un segnale per farti capire che non tutti i siti falliscono allo stesso modo. Alcuni siti ad uso intensivo di database potrebbe fallire su quel punto, mentre altri potrebbero soffrire Fallimenti IO basato sui carichi di connessione al server.

Per questo motivo, devi essere pronto a impostare una serie di test per capire come faranno il tuo sito e il tuo server in vari scenari. Sulla base di questi, tieni d'occhio alcune metriche chiave come il tempo di risposta del tuo server, il numero di errori che si verificano e in quali aree possono trovarsi questi errori.

Generare script complessi ed esecuzioni insieme alla logica di accompagnamento può essere difficile. Suggerisco di avvicinarsi progressivamente al test di carico. Inizia con un test di forza bruta che testerà semplicemente il tuo sito sotto un flusso di traffico in costante aumento.

Man mano che acquisisci esperienza, aggiungi altri elementi come il comportamento variabile, sviluppando gli script e la logica nel tempo.

Conclusione: alcuni sono meglio di nessuno

Quando si tratta di test di carico, iniziare con le basi è meglio che non iniziare affatto. Se sei un principiante in tutto questo, prova a fare i tuoi test su un mirror alternativo o offline, ove possibile, se possibile, evita di caricare test su un sito live!

Se hai appena iniziato ora, assicurati di creare un registro dei tuoi test. Test delle prestazioni è un viaggio che dovrebbe accompagnare lo sviluppo del tuo sito man mano che cresce. Il processo può essere stancante ma ricorda, non avere un record può rendere le valutazioni future molto più difficili per te.

A proposito di Jerry Low

Fondatore di WebHostingSecretRevealed.net (WHSR) - una recensione di hosting fidata e utilizzata dagli utenti di 100,000. Più di 15 anni di esperienza in web hosting, affiliate marketing e SEO. Collaboratore di ProBlogger.net, Business.com, SocialMediaToday.com e altro.