Why We Moved Stroppy from k6 to a Native Go Engine
ยท 9 min read
Stroppy v5 was a k6 extension. Stroppy v6 is not.
We did not make that change because k6 is a poor load-testing tool. k6 gave us virtual users, scenarios, metrics, reporting, and a JavaScript runtime when Stroppy was much smaller. It helped us reach a working multi-database benchmark faster than building every subsystem ourselves.
The problem was fit. As Stroppy became a database benchmark rather than a thin extension, we used less of what k6 was built to provide and added more adapters around the parts we did use. Eventually the adapter layer became the product.