Nell'era del cloud computing, le prestazioni dei server cloud influenzano direttamente l'esperienza delle applicazioni, la continuità del business e l'economicità. La scelta di strumenti di test delle prestazioni appropriati può aiutarti a valutare con precisione i principali indicatori dei server cloud, come CPU, memoria, I/O del disco e larghezza di banda della rete, fornendo supporto ai dati per le decisioni di ottimizzazione e scalabilità delle risorse. Questo articolo consiglia diversi strumenti di test delle prestazioni dei server cloud più diffusi, che coprono diversi scenari di test e requisiti tecnici.
\nStrumento di test delle prestazioni complessive.
Geekbench 6
Geekbench è uno strumento di test delle prestazioni complessive multipiattaforma che supporta sistemi operativi come Windows, Linux e macOS, ed è molto adatto per valutare le prestazioni generali dei server cloud.
Sito ufficiale:https://www.geekbench.com/

Le funzionalità principali:
- Test delle prestazioni della CPU: include calcoli interi, calcoli in virgola mobile, prestazioni della memoria, ecc.
- Valutazione delle prestazioni di calcolo: supporta il rilevamento completo delle prestazioni multi-core della CPU.
- Supporta diversi set di istruzioni: è in grado di sfruttare appieno le prestazioni dei server cloud di diverse architetture.
VantaggiI risultati dei test sono intuitivi e forniscono una valutazione dettagliata delle prestazioni e dati comparativi, facilitando il confronto delle prestazioni tra server cloud di diverse configurazioni.
UnixBench
UnixBench è un classico strumento di test delle prestazioni del sistema Unix/Linux, che si concentra sulla valutazione delle prestazioni complessive del sistema.
Sito ufficiale:https://github.com/topics/unixbench

Le funzionalità principali:
- Test multipli: inclusi calcoli della CPU, accesso alla memoria, lettura e scrittura dei file, ecc.
- Test multithread: consente di simulare scenari di concorrenza multiutente.
- Valutazione standardizzata: visualizza le prestazioni in modo intuitivo attraverso un sistema di valutazione basato su indici.
VantaggiÈ open source e gratuito, ha una lunga storia e i risultati dei test hanno un elevato valore di riferimento, rendendolo adatto per la valutazione delle prestazioni di base dei server cloud Linux.
Strumento di test delle prestazioni della CPU e della memoria.
1. Sono stressato.
Stress-ng è un potente strumento di test di stress, in grado di eseguire test intensivi su risorse di sistema come la CPU e la memoria.
Indirizzo del download:https://fossies.org/linux/privat/

Le funzionalità principali:
- Test di stress di diversi tipi: supporta vari test di stress, tra cui CPU, memoria, I/O del disco, ecc.
- Configurazione flessibile: è possibile specificare la durata del test, il numero di connessioni simultanee e altri parametri.
- Statistiche dettagliate: fornisce statistiche sull'utilizzo delle risorse durante il processo di test.
VantaggiUna strumentazione leggera, semplice da installare e con una configurazione flessibile dei parametri, adatta per valutare la stabilità dei server cloud sotto carichi elevati.
Sysbench
Sysbench è uno strumento di test delle prestazioni modulare, che supporta diversi tipi di test delle prestazioni, tra cui CPU, memoria, database e altro ancora.
Sito ufficiale:https://github.com/akopytov/sysbench

Le funzionalità principali:
- Test multidimensionali: prestazioni di calcolo della CPU, larghezza di banda della memoria, I/O dei file, ecc.
- Test personalizzabili: supporta i parametri e gli scenari di test personalizzati.
- Test del database: esiste un modulo di test specifico per le prestazioni dei database come MySQL.
VantaggiIl prodotto è dotato di funzionalità complete e supporta diversi scenari di test, ed è adatto agli utenti che necessitano di un'analisi approfondita delle prestazioni dei server cloud.
Lo strumento di test delle prestazioni di I/O del disco.
Fio
Fio (Flexible I/O Tester) è uno strumento professionale per il test delle prestazioni di I/O dei dischi, ampiamente utilizzato per valutare le prestazioni dei sistemi di storage.
Sito ufficiale:https://github.com/axboe/fio

Le funzionalità principali:
- Diversi modi di I/O: supporta vari modi di lettura e scrittura, come la lettura e la scrittura casuali e sequenziali, ecc.
- Test personalizzati: è possibile configurare parametri come la dimensione del blocco e la profondità della coda.
- Rapporto dettagliato: fornisce indicatori chiave come IOPS, throughput, latenza, ecc.
VantaggiÈ altamente personalizzabile, i risultati dei test sono professionali e affidabili, ed è adatto per valutare le prestazioni dei dischi locali o dello storage cloud dei server cloud.
2. Comando dd
Dd è uno strumento a riga di comando fornito con il sistema Linux. Anche se è semplice, consente di valutare rapidamente le prestazioni di lettura e scrittura del disco.
Le funzionalità principali:
- Test di lettura e scrittura sequenziale: per testare la velocità di scrittura del disco creando file di grandi dimensioni
- Costo zero: il sistema è integrato, non richiede alcuna installazione aggiuntiva.
- Valutazione rapida: adatto per un controllo preliminare delle prestazioni del disco.
Esempi di utilizzo:
# 测试写入速度
dd if=/dev/zero of=testfile bs=1G count=1 oflag=direct
# 测试读取速度
dd if=testfile of=/dev/null bs=1G count=1 iflag=direct
Lo strumento di test delle prestazioni della rete.
iperf3
Iperf3 è uno strumento professionale per il test delle prestazioni di rete, utilizzato principalmente per misurare le prestazioni della larghezza di banda di TCP e UDP.
Le funzionalità principali:
- Test di larghezza di banda: misurazione precisa della larghezza di banda della rete.
- Supporto multi-protocollo: supporta vari protocolli come TCP, UDP, ecc.
- Test bidirezionale: consente di testare contemporaneamente le prestazioni di upload e download.
VantaggiIl supporto multipiattaforma, l'operazione semplice e i risultati accurati lo rendono adatto per valutare le prestazioni della connessione tra i server cloud o tra i server cloud e la rete locale.
I metodi di installazione dei diversi sistemi operativi sono i seguenti:
- Sistema Linux:
- Ubuntu/Debian:
sudo apt install iperf3 - CentOS/RHEL:
sudo yum install iperf3 - Fedora:
sudo dnf install iperf3
- Ubuntu/Debian:
- Il sistema macOS.:
È possibile installarlo utilizzando Homebrew:brew install iperf3 - Sistema Windows:
È necessario partire da Il sito ufficiale di iperf. Scarica il pacchetto di installazione precompilato, estrailo e potrai usarlo subito (include le versioni a 32 e 64 bit).
Dopo l'installazione, digita nel terminale o nel prompt dei comandi: iperf3 -vSe riesci a visualizzare le informazioni sulla versione, significa che l'installazione è stata completata con successo.
Speedtest-cli
Speedtest-cli è la versione a riga di comando del noto sito web di test della velocità di Internet Speedtest, adatta per testare rapidamente la velocità della connessione di rete dei server cloud.
Sito ufficiale:https://www.speedtest.net/zh-Hans/apps/cli

Le funzionalità principali:
- Test di velocità della rete: verifica la velocità di download e di upload.
- Selezione del server: è possibile specificare il server di test.
- Esportazione dei risultati: consente di esportare i risultati dei test in formato testo o JSON.
VantaggiÈ semplice da usare, non richiede configurazioni complesse ed è adatto per ottenere rapidamente informazioni sulle prestazioni di rete dei server cloud.
Strumenti di test delle prestazioni nativi nel cloud
k6
K6 è uno strumento moderno di test di carico, progettato specificamente per le applicazioni e le API cloud-native.
Sito ufficiale:https://k6.io/

Le funzionalità principali:
- Test di carico: simulare l'accesso simultaneo di un gran numero di utenti.
- Test scriptati: consente di scrivere script di test in JavaScript.
- Integrazione cloud: può essere integrato con le principali piattaforme cloud.
VantaggiÈ leggero, facile da estendere e adatto per testare le prestazioni delle API e dei microservizi distribuiti su server cloud.
Il flusso di utilizzo di base è il seguente:
- Installare k6:
- Linux:
sudo apt install k6(Debian/Ubuntu) o installandolo tramite i pacchetti binari ufficiali. - macOS:
brew install k6 - Windows: da Il sito ufficiale di K6 Scarica il pacchetto di installazione o utilizza WSL.
- Linux:
- Scrivi uno script di test.(Per esempio)
test.js)
import http from 'k6/http';
import { check, sleep } from 'k6';
export const options = {
vus: 10, // 虚拟用户数
duration: '30s', // 测试持续时间
};
export default function() {
const res = http.get('https://api.example.com/');
check(res, { 'status is 200': (r) => r.status === 200 });
sleep(1); // 每个请求间隔1秒
} Eseguire il test:k6 run test.js
Vedi i risultati:
Dopo il test, il terminale emetterà un rapporto riassuntivo, che includerà indicatori come la distribuzione dei tempi di risposta, il tasso di errore e il numero di richieste al secondo (RPS), e potrà essere configurato per l'esportazione in strumenti come Grafana per un'analisi approfondita.
K6 è particolarmente adatto per i team di sviluppo che eseguono test di regressione delle prestazioni durante il processo di iterazione o per verificare la stabilità del sistema sotto carichi elevati prima della sua messa in produzione. È uno strumento comunemente utilizzato per testare le prestazioni delle applicazioni cloud-native.
2. Locusta.
Locust è uno strumento di test di carico open source scritto in Python, caratterizzato da una buona scalabilità.
Sito ufficiale:https://docs.locust.io/en/stable/
Magazzino:https://github.com/locustio/locust

Le funzionalità principali:
- Test distribuito: supporta il test di carico in collaborazione con più macchine.
- Il codice definisce lo scenario di test: definisce il comportamento dell'utente tramite il codice Python.
- Monitoraggio in tempo reale: fornisce un'interfaccia web per visualizzare i risultati dei test in tempo reale.
VantaggiÈ altamente personalizzabile e adatto per testare le prestazioni dei server cloud in scenari complessi, in particolare per le applicazioni web.
Consigli per la selezione
- Valutazione preliminareSe si tratta solo di una semplice valutazione delle prestazioni, si consiglia di utilizzare Geekbench o UnixBench per un test completo.
- Test specifici:
- CPU/Memoria: Stress-ng, Sysbench
- I/O del disco: comandi Fio e dd.
- Prestazioni della rete: iperf3, Speedtest-cli
- Test dei casi d'uso dell'applicazione.Per le applicazioni distribuite su server cloud, si consiglia di utilizzare k6 o Locust per eseguire test di carico che rispecchino fedelmente gli scenari reali.
- Monitoraggio continuoIn combinazione con gli strumenti di monitoraggio forniti dalla piattaforma cloud (come AWS CloudWatch e Alibaba Cloud Monitoring), è possibile effettuare un monitoraggio delle prestazioni a lungo termine.
Attraverso un uso appropriato di questi strumenti di test delle prestazioni, è possibile ottenere una visione completa delle prestazioni dei server cloud e fornire una base scientifica per l'ottimizzazione della configurazione delle risorse, il controllo dei costi e l'espansione del business. Nei test pratici, si consiglia di combinare diversi strumenti e di ripetere i test in diversi periodi di tempo per ottenere risultati più accurati.