Hacker News new | past | comments | ask | show | jobs | submit | sniku's comments login

k6.io | Go Engineer - k6 open-source developer | REMOTE in EU time-zone (CET +/- 3h)

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


k6.io | Go Engineer - k6 open-source developer | REMOTE in Europe Apply at: https://loadimpacte4.applytojob.com/apply/utlvKOlILJ/Go-Engi... or via email 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.

[0] https://k6.io/ [1] https://github.com/loadimpact/k6


k6.io | Go Engineer - k6 open-source maintainer | REMOTE in Europe

Apply at: https://loadimpacte4.applytojob.com/apply/utlvKOlILJ/Go-Engi...

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.

Recent HN post: https://news.ycombinator.com/item?id=25234746

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.

[0] https://github.com/loadimpact/k6


k6.io | Go Engineer - k6 open-source maintainer | REMOTE in Europe

Apply at: https://loadimpacte4.applytojob.com/apply/utlvKOlILJ/Go-Engi...

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.

Recent HN post: https://news.ycombinator.com/item?id=25234746

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.

[0] https://github.com/loadimpact/k6


That's an interesting talk.

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.

[1] https://k6.io/docs/using-k6/options#summary-trend-stats

[2] https://k6.io/docs/using-k6/metrics


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.

Adding MQTT should be rather straightforward.

[1] https://github.com/k6io/xk6


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.

More is possible, but we didn't push further.

Source: I'm one of the guys behind k6.


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

1. 500 000 VU test run with 1.5B requests

2. 12h soak test run with 5k VUs

3. 48h soak test, with 5k VUs

4. 20k VU local test (with -o cloud)


k6 can be used together with Grafana[1] so you can get pretty charts for free :-)

[1] https://k6.io/blog/k6-loves-grafana


As a lover of Grafana, I love this! Thanks, didn't know. I'll definitely give k6 a try!


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.

https://github.com/loadimpact/open-source-load-testing-stack...


handy! will look into that!


Hey all,

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 :-)


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: