You will be one of four developers and maintainers of k6[0], a modern open-source tool for performance testing, written in Go. k6 was released publicly in early 2017 and has already received over 11,000 stars on GitHub. We have a quickly growing community of users and contributors.
Your responsibilities will be to build new features, maintain the code base and interface with the user community (i.e., review patches :) and potentially evangelize the tool.
Skills required:
We are looking for a person combining strong programming skills with experience in contributing to open-source projects.
Applicants must:
- Have a strong programming background and experience developing applications in Go
- Good technical communication skills
- Understand internet protocols well, primarily IP, TCP, HTTP but also preferably HTTP/2, WebSockets, QUIC, gRPC
- Be familiar with modern development processes and practices. Preferably having recent experience developing large scale applications
k6 is a remote-first company. We accept remote applicants in European time zones (CET +/- 3h).
You will be one of four developers and maintainers of k6[0], a modern open-source tool for performance testing, written in Go. k6 was released publicly in early 2017 and has already received over 11,000 stars on GitHub. We have a quickly growing community of users and contributors.
Your responsibilities will be to build new features, maintain the code base and interface with the user community (i.e. review patches :) and potentially evangelize the tool.
Skills required:
We are looking for a person combining strong programming skills with experience in contributing to open-source projects.
Applicants must:
- Have a strong programming background and experience developing applications in Go
- Good technical communication skills
- Understand internet protocols well, primarily IP, TCP, HTTP but also preferably HTTP/2, WebSockets, QUIC, gRPC
- Be familiar with modern development processes and practices. Preferably having recent experience developing large scale applications
k6 is a remote-first company. We accept remote applicants in European time zones.
You will be one of four developers and maintainers of k6, a modern open-source tool for performance testing, written in Go. k6 was released publicly in early 2017 and has already received over 10,000 stars on Github[0] and has an active community of users and contributors.
You will have a lot of influence on the project road map and will work with a high degree of autonomy, building and maintaining the tool.
Your responsibilities will be to both write code, extending the functionality of k6, and to maintain the code base, interface with the user community (i.e. review patches :) and potentially evangelize the tool. Your main, long-term goal will be to create the best possible tool and to get as many people as possible to use it.
Skills required:
We are looking for a person combining very strong programming skills with experience in contributing to open-source projects.
Applicants must:
- Have a strong programming background and experience developing applications in Go
- Good technical communication skills
- Understand internet protocols well, primarily IP, TCP, HTTP but also preferably HTTP/2, SPDY, WebSockets, QUIC, gRPC
- Be familiar with modern development processes and practices. Preferably having recent experience developing large scale applications
k6 is a remote-first company. If you are located in Stockholm, you can work from the office, otherwise, you can work 100% remotely.
You will be one of four developers and maintainers of k6, a modern open-source tool for performance testing, written in Go. k6 was released publicly in early 2017 and has already received over 10,000 stars on Github[0] and has an active community of users and contributors.
You will have a lot of influence on the project road map and will work with a high degree of autonomy, building and maintaining the tool.
Your responsibilities will be to both write code, extending the functionality of k6, and to maintain the code base, interface with the user community (i.e. review patches :) and potentially evangelize the tool. Your main, long-term goal will be to create the best possible tool and to get as many people as possible to use it.
Skills required:
We are looking for a person combining very strong programming skills with experience in contributing to open-source projects.
Applicants must:
- Have a strong programming background and experience developing applications in Go
- Good technical communication skills
- Understand internet protocols well, primarily IP, TCP, HTTP but also preferably HTTP/2, SPDY, WebSockets, QUIC, gRPC
- Be familiar with modern development processes and practices. Preferably having recent experience developing large scale applications
k6 is a remote-first company. If you are located in Stockholm, you can work from the office, otherwise, you can work 100% remotely.
k6 allows the user to choose[1] which metrics are relevant for the particular test. By default, it displays max or p(100), p(95), p(90), min, med, and avg. User can specify other values such as p(99.995)
It's also possible to create completely custom metrics[2] to track whatever is relevant to the user.
k6 allows the user to change almost all aspects of execution, tracking, and reporting.
The soon to be released "xk6 - k6 extensions"[1] will bring support for many new protocols.
There are already proof of concept extensions for Redis, ZeroMQ, kafka, SQL, and others.
The most I started on a single machine was about 50.000 VUs. Back then, the limit was in available sockets. k6 now has support for multiple source IPs, so that limit has been effectively removed, and more VUs should be possible.
On the `k6 cloud` side, we have executed 500k+ VUs. The most RPS I achieved with k6 was 4 791 928 (~4.8 million requests per second). That test lasted for 6 min and generated 1.5 billion requests in total.
Interesting. How did you collect metrics for reports when running that many VUS? In a recent attempt, influxdb quickly became the bottleneck for us when testing with around 5000 VUS. Is there some best practices outlined somewhere, or which you could outline here, on how to collect metrics for large runs?
For that local test, I relied on the k6 CLI output.
Influxdb would most likely not be able to handle this amount of data. We are looking to add a TimescaleDB output to enable metric collection beyond what Influx is capable of. There's a working example here if you want to give it a shot ahead of the official release https://github.com/loadimpact/open-source-load-testing-stack
Local execution with cloud output is also possible (k6 run -o cloud), but that's not free.
To give you some idea of what k6 cloud can do, here are screenshots of a few large scale tests https://imgur.com/a/NtXsc1a
You can give a shot to the "open source load testing stack"[1] we built. It's using TimescaleDB instead of influx which makes it much easier to configure in Grafana.
We are planning on using TimescaleDB as a default database output for the local execution.
Pawel here - one of the engineers behind k6.
For the past 9 months we have been working very hard on this load testing platform and today it's finally out! Hope you give it a try!
I'm happy to answer any questions you may have :-)
Apply at: https://k6.io/jobs or email me pawel@k6.io
You will be one of four developers and maintainers of k6[0], a modern open-source tool for performance testing, written in Go. k6 was released publicly in early 2017 and has already received over 11,000 stars on GitHub. We have a quickly growing community of users and contributors.
Your responsibilities will be to build new features, maintain the code base and interface with the user community (i.e., review patches :) and potentially evangelize the tool.
Skills required:
We are looking for a person combining strong programming skills with experience in contributing to open-source projects.
Applicants must:
- Have a strong programming background and experience developing applications in Go
- Good technical communication skills
- Understand internet protocols well, primarily IP, TCP, HTTP but also preferably HTTP/2, WebSockets, QUIC, gRPC
- Be familiar with modern development processes and practices. Preferably having recent experience developing large scale applications
k6 is a remote-first company. We accept remote applicants in European time zones (CET +/- 3h).
[0] https://k6.io/ [1] https://github.com/k6io/k6