Stress testing is taking a system to its limit to see how it behaves, how it deteriorates and what the maximum functional capacity is.
Loading testing aka soak testing is sustained loading the system, rather than testing the limits.
This is useful to burn in hardware to avoid early stage production failures, leaving around 3 year later staggered failures, MTTR / MTBF etc.
- Things you want to stress
- Apache Bench
- Siege
- Hey
- JMeter
- BlazeMeter
- K6 by Grafana Labs
- Hadoop TestDFSIO
- YCSB - Yahoo Cloud Serving Benchmark
- CPU
- Ram
- Disk
- Network
- Concurrent Rate of Requests to Web Services
This is in the apache2-utils package.
apt-get install -y apache2-utilsSend 1000 requests using 10 concurrent threads representing different users at a time:
ab -n 1000 -c 10 "$URL"apt-get install -y siegeSend 1000 requests using 10 concurrent threads:
siege -r 1000 -c 10 "$URL"Written in Golang.
Install:
go get -u github.com/rakyll/heySend 1000 requests from 10 concurrent threads:
hey -n 1000 -c 10 "$URL"Mature battle tested Testing IDE written in Java.
Best known for testing Web services, but can also do databases via JDBC, FTP, LDAP, message buses via JMS, Email services SMTP, IMAP, POP3 etc.
GUI and CLI modes. Non-trivial, you will need to RTFM.
Managed service like JMeter.
https://www.blazemeter.com/pricing/
wget -nc https://raw.githubusercontent.com/HariSekhon/Templates/master/k6.jsk6 run k6.jshadoop jar hadoop-test-2.0.0-mr1-cdh4.1.2.jar TestDFSIO -write -nrFiles 1000 -fileSize 600 -resFile /path/to/results.txtTests all different key-value stores performance
Install:
git clone git://github.com/brianfrankcooper/YCSB.git
cd YCSB
# mvn clean package
mvn packagebin/ycsb --helpPorted from private Knowledge Base page 2010+