Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Pianificazione di base per i test di carico
Per determinare lo strumento e la configurazione adatti al test di carico, è necessario avere chiaro il motivo per cui lo si sta eseguendo. Rispondi alle domande seguenti per stabilire il tipo corretto di test:
-
Quanto carico può sopportare la mia applicazione?
-
La mia applicazione è in grado di gestire il carico X?
-
La mia applicazione si dimensiona automaticamente verso l'alto e verso il basso?
-
Il comportamento dell'applicazione peggiora nel tempo con una quantità di carico X?
-
La mia applicazione funziona? Non si tratta di un tipico test del carico, ma puoi utilizzare i relativi strumenti per determinare se l'applicazione funziona come previsto.
Determinare la complessità del test
La complessità del test dipende dalla completezza della valutazione. Alcuni strumenti di base, come Hey
In altri casi, potrebbe essere necessario che il test esegua un comportamento complesso. Supponiamo, ad esempio, che sia necessario effettuare il login prima di iniziare un processo o che si sia testando il processo di ordine che include la selezione di un articolo e l'esecuzione dell'acquisto. Questo potrebbe essere definito uno scenario. Gli scenari di test richiedono strumenti di test del carico più complessi, in cui è possibile modellare il carico di lavoro in modo che corrisponda a situazioni reali. Ciò permette di ottenere risultati che possono essere utilizzati per prevedere le prestazioni che gli utenti finali sperimenteranno.
I test complessi comportano un carico maggiore sul sistema di generazione del carico. Per eseguire i test di carico, è necessario considerare non solo lo strumento ma anche il sistema che lo esegue: la CPU e la larghezza di banda della rete sono gli aspetti più importanti. La cattiva progettazione di un sistema informatico di test di carico può portare a risultati errati. Ad esempio, una singola macchina non sarà sufficiente a creare il carico per un obiettivo con buone prestazioni. In questo caso, dovrai impostare un test di carico distribuito. D'altra parte, uno strumento con buone prestazioni può creare più carico con un singolo server. Questo argomento verrà trattato in modo più approfondito nella discussione sulla configurazione del test.
Misurazione e configurazione
È necessario considerare la rappresentabilità dell'ambiente di test. Se si gestisce un sito di acquisti di grandi dimensioni, con migliaia di server, può diventare difficile testare la produzione senza influire sugli utenti finali o creare un ambiente di test che replichi le dimensioni del sito. Inoltre, la creazione di un traffico sufficiente a mettere sotto stress un sistema di queste dimensioni richiede una sofisticata configurazione del test di carico. Per questo motivo, i test di carico vengono in genere eseguiti su configurazioni più piccole e comparabili, che possono essere utilizzate per elaborare ipotesi sull'ambiente di produzione. I test che stabiliscono le baseline o i requisiti funzionali possono essere eseguiti su ambienti di produzione.
È buona norma documentare gli ambienti di test per i test successivi in modo da disporre di specifiche ben definite, con i risultati previsti in base alle dimensioni dell'ambiente di destinazione.
Prendi in considerazione tutti gli elementi dell'infrastruttura interessati dal test di carico. Sebbene il test riguardi spesso la CPU e la memoria degli host, vi sono altri effetti collaterali da considerare.
Un tipico effetto collaterale è che la larghezza di banda della rete per la comunicazione tra i servizi può raggiungere i suoi limiti. Per i servizi connessi tramite Internet o per i sistemi distribuiti, la comunicazione si basa in genere su una rete. L'utilizzo di un test di carico che mette sotto stress l'applicazione, comporterà la generazione di stress anche sull'infrastruttura di rete sottostante.
Modellazione del carico e test in fasi
Per i diversi tipi di test, è possibile modellare la quantità di carico prodotto nel corso del test. Un metodo di base consiste nel creare una progressione graduale che aumenti lentamente il carico nel tempo. In questo modo si creano punti dati distinti per ogni fase, consentendo di trarre conclusioni più dettagliate con un singolo test. Per individuare un limite pertinente per l'applicazione, è buona norma iniziare il test con un carico inferiore all'utilizzo tipico, in modo da ottenere le massime prestazioni. Aumentando gradualmente il carico, si noterà il limite in cui le prestazioni dell'applicazione peggiorano. I risultati mostreranno se il comportamento atteso è ancora valido e se l'applicazione si comporta come previsto in situazioni di errore. Ad esempio, quando esegui il test al di sopra del limite, potresti aspettarti una riduzione del carico
Utilizzando strumenti complessi, puoi impostare uno schema come configurazione per il test, definendo così la quantità di carico che verrà prodotta per un periodo e il modo in cui aumenterà o diminuirà.
La maggior parte degli strumenti di base è costituita da strumenti della riga di comando, che richiedono la creazione di script da parte dell'utente. Quando scrivi gli script, assicurati di non sovrascrivere accidentalmente i parametri da archiviare. I file di output devono avere nuovi suffissi per ogni iterazione, in modo da non sovrascrivere i risultati dell'iterazione precedente.