(no title)
anonacct37 | 2 years ago
wrk does this with lua. https://github.com/wg/wrk/blob/master/src/wrk.lua
Also even things like the venerable jmeter supported pulling parameters from a csv file.
anonacct37 | 2 years ago
wrk does this with lua. https://github.com/wg/wrk/blob/master/src/wrk.lua
Also even things like the venerable jmeter supported pulling parameters from a csv file.
nomilk|2 years ago
hassy|2 years ago
Once you've got that out of the way, don't forget that you'll want a distribution story. It does not matter how efficient your tool might be on a single machine - you'll want to distribute your tests across multiple clients for real-world testing.
"Sure it's easy" you might say, "I know UNIX. Give me pssh and a few VMs on EC2". Well, now you've got 2 problems: aggregating metrics from multiple hosts and merging them accurately (especially those pesky percentiles. Your tool IS reporting percentiles rather than averages already, right?!), and a developer experience problem - no one wants to wrangle infra just to run a load test, how are you going to make it easier?
And, this developer experience problem is much bigger than just sorting out infra... you'll probably want to send the metrics produced by your tool to external observability systems. So now you've got some plugins to write (along with a plugin API). The list goes on.
I'm very biased, but it's 2024. Don't waste your time and just use https://www.artillery.io/
1. https://www.artillery.io/blog/load-testing-workload-models
anonacct37|2 years ago
Shameless self promotion but I wrote up a bunch of these issues in a post describing all the mistakes I have made so you can learn from them: https://shane.ai/posts/load-testing-tips/
toast0|2 years ago
If your desired load for testing is small, it's not a big deal, of course.
paulryanrogers|2 years ago
vidarh|2 years ago
liveoneggs|2 years ago