Se si sta eseguendo il test di carico ad alte velocità di pacchetti, il modo più sicuro è isolarlo completamente dal resto della rete. Ad esempio, puoi collegare due server tramite il collegamento diretto da 10 GBps senza switch e utilizzare un'altra connessione LAN sul server di benchmarking su ssh
su un server per eseguire il test.
Un altro modo è eseguire il provisioning dei server in Public Cloud come AWS per un breve periodo di tempo ed eseguirlo lì. Non rischi di avere un impatto sulla tua infrastruttura. Va bene farlo, le infrastrutture cloud sono resilienti, quindi se invadete il vostro server con pacchetti è solo un po 'più di traffico. Ovviamente, se fosse opportuno eseguire il provisioning di una macchina grande, veloce o addirittura dedicata, in modo da poter vedere realmente quanto carico il software impiega.
Riguardo al software, puoi usare generico ab
che è "Apache Bench" e fa parte dei pacchetti Apache. Puoi testare la resilienza del tuo server web (file statici da httpd) e server delle applicazioni (quelli dinamici da PHP, Ruby, Java).
Potresti cercare altri software di test di carico professionali per protocolli specifici che potrebbero includere test di streaming di API e video. Ce ne sono molti a seconda del protocollo che si sta utilizzando (come REST, ecc.)
Quindi procedi con la normale messa a punto dello stack di rete e l'ottimizzazione delle applicazioni per ottenere maggiori prestazioni (lo stesso sul lato client come ulimit
). Tieni traccia dei tuoi risultati. Inoltre, prova ad analizzare correttamente i log con entrambi i software gratuiti come AWStats o Sawmill commerciale. Evita l'uso di grep ;-) Analytics ti mostrerà risultati reali. Tieni inoltre presente che ab
è valido per httpd
, ma a volte ha problemi con altri server web. E in AWS puoi usare Load Balancer che mostra anche le statistiche in tempo reale. Registra le statistiche di rete con Nagios, Zabbix, ecc. Per vedere come viene eseguito lo stack di rete (ad esempio connessioni interrotte, velocità dei pacchetti, utilizzo della CPU, ecc.)
Non assumere mai attacchi DDoS poiché si tratta di bande criminali e rischi molto, non solo legalmente per te stesso ma anche per il tuo ISP, la tua azienda e i tuoi clienti.