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: 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.
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 sia il tipo di simulazione di cui hai bisogno, paghi solo per il servizio: non vi è alcun investimento 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.
Suggerimento: non sei sicuro che LoadView sia adatto a te? Pianifica una chiamata di scoperta (15 minuti) o una demo gratuita (1 ora) con LoadView. I loro tecnici delle prestazioni ti guideranno attraverso il processo di scripting ed esecuzione > Pianifica subito una demo gratuita.
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
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).
Carica le funzionalità di Ninja
Prova con migliaia di browser reali
Diagnosticare i test in tempo reale
Approfondimenti sulle prestazioni interne dell'applicazione
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.
Questa soluzione basata su cloud offre anche l'uso di un ambiente di sviluppo integrato per i test unitari. Supporta un'ampia gamma di ambienti applicativi tra cui Web, Mobile, WebSockets, Citrix, Java, .NET e molti altri. Tieni presente che LoadRunner può essere piuttosto complesso e ha una curva di apprendimento ripida.
Funzioni MicroFocus
Motore brevettato di autocorrelazione
Supporta oltre 50 tecnologie e ambienti applicativi
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 avere un piano a pagamento per accedere a funzionalità più avanzate come analisi avanzate, test simultanei e supporto prioritario. Tuttavia, è facile da usare poiché in pratica devi solo aggiungere il tuo sito, specificare i parametri, quindi eseguire il test.
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.
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.
Quando caricare il test delle prestazioni del 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.
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:
A che punto le prestazioni del tuo sito iniziano a peggiorare
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 dalle basi è meglio che non iniziare affatto. Se sei un principiante in tutto questo, prova a eseguire i test su un mirror alternativo o offline ove possibile: evita di testare il carico di un sito live se puoi!
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.
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.