k6

Stockholm, Sweden
2009
For many companies, performance is the main reason to go with GraphQL. But is that a valid argument? Often developers compare GraphQL to REST APIs and see the N+1 requests (or over-fetching) as an important reason to go for GraphQL. Let's put that to the test and explore if GraphQL APIs actually can outperform existing REST APIs. For this, we'll take a GraphQL-ized REST API (from JSONPlaceholder) and test the performance of GraphQL and compare it to the REST approach.
Jun 9, 2022   |  By Christian Haudum
As a software engineer here at Grafana Labs, I’ve learned there are two questions that commonly come up when someone begins setting up a new Loki installation: “How many logs can I ingest into my cluster?” followed by, “How fast can I query these logs?” There are two ways to find out the answers.
Jun 7, 2022   |  By Leandro Melendez
Rendezvous is a French word commonly used in the load testing word. It sounds so fancy! I believe Mercury first coined and implemented it (I may be wrong) in LoadRunner. NeoLoad has it with the same name, and JMeter calls it Synchronizing timer. But what is it really, and how may we use it? Rendezvous is a function that stops the virtual users when they reach that instruction in the script. The function makes them wait until more virtual users get to that step or a timer runs out.
May 11, 2022   |  By Waweru Mwaura, Software Engineer
In this tutorial, we'll show you how to store k6 logs in Loki for long-term storage and further analysis. We'll walk you through the steps to configure Loki in Grafana Cloud and enable k6 to send logs of your k6 tests to Loki.
May 5, 2022   |  By Leandro Melendez
Hello! Leandro here! Your k6 reporter. Today, we are reporting a story from the field. We just had a week of adventures and magical experiences at the 2022 StarEast event with real-life people for the first time in two years!
Apr 29, 2022   |  By Julien Duchesne
When it comes to building and deploying applications, one increasingly popular approach these days is to use microservices in Kubernetes. It provides an easy way to collaborate across organizational boundaries and is a great way to scale. However, it comes with many operational challenges. One big issue is that it’s difficult to test the microservices in real-life scenarios before letting production traffic reach them. But there are ways to get around it.
Apr 8, 2022   |  By Nicole van der Hoeven
Have you ever wanted to load test an application behind a corporate firewall? If so, you probably ran into a few issues. Load testing on the cloud can be the most cost-effective way to run a load test, but not if the application isn't publicly accessible. Recently, we released a new feature for k6 Cloud that allows you to run load tests on your own private load zones. But first, does it really matter where load is generated from?
Apr 5, 2022   |  By Matt Dodson
In last week's office hours, Nicole and Paul sat down with engineering manager Marko Pandurovic to discuss the ever-evolving k6 backend. All systems turn more complex with time, and the k6 backend is no exception.
Mar 30, 2022   |  By Matt Dodson
A k6 load test can generate a ton of data. Without a way to organize the data, you'll struggle to analyze test results. Fortunately, there are many ways to turn results into data-rich visualizations.
Software development is entirely different today than it was a few years ago. Back then, we usually had a big monolith running on our own hardware. We mainly did performance tests to see if the hardware resources were sufficient to handle the load. Today, we develop software in a distributed environment with multiple services which may even run on different cloud platforms. With performance testing, we try to identify performance and resilience issues in these kinds of environments.
Jun 4, 2022   |  By k6
Kubernetes has been becoming the standard operating environment for applications over the past several years. With the xk6-kubernetes extension, you can add direct support for Kubernetes objects (ConfigMaps, Deployments, Jobs, et al) directly within your test scripts. Imagine, your test scripts could now directly setup your test environment by pre-scaling your services, change configuration, or even inject a little chaos _during_ your tests by deleting running pods to observe how your overall system behaves.
May 16, 2022   |  By k6
May 7, 2022   |  By k6
Maintainer Marco Pracucci talks about the new Grafana project, Mimir, a next-generation time-series database for Prometheus. He joins Developer Advocates Nicole van der Hoeven and Paul Balogh to talk about what Mimir is, why it was needed, and how he helped scale it using k6. RESOURCES.
Apr 30, 2022   |  By k6
In this second part of demonstrating the dogfooding we do at k6, Tom Miseur, Technical Specialist, shows how he wrote API load testing scripts with k6 to test k6 Cloud-- and what his results were after his testing.
Apr 23, 2022   |  By k6
Have you ever wondered how to test a platform built for testing other products? Our frontend developer, Thomas Wikman, joins us on k6 Office Hours to talk about his experience being a user of one of our tools - xk6-browser - and how he uses it to test the entire k6 Cloud frontend.
Apr 16, 2022   |  By k6
You've probably heard about Test-Driven Development (TDD), but too often, TDD practices don't take performance into consideration. How can we do Performance-Driven Development to ensure performance outcomes from the very beginning? Join Paul Balogh and Leandro Melendez in a conversation about changing the way we code.
Apr 12, 2022   |  By k6
In this video, Developer Advocate Nicole van der Hoeven demonstrates how to create and run a load test from scratch without coding, using k6 Cloud's Test Builder.
Apr 9, 2022   |  By k6
There are many ways to get k6 load testing results into Grafana, but our frontend software engineer, Edgar Fisher, talks to us about the easiest way of them all: the new k6 Cloud App for Grafana.
Apr 2, 2022   |  By k6
k6 Backend Lead, Marko Pandurovic, talks to Nicole van der Hoeven and Paul Balogh about how we build reliable systems at k6 to cope with the growing pains of a SaaS platform, k6 Cloud. Marko manages one of two backend teams at k6, and has some ideas to share about how to improve and maintain k6 infrastructure.
Mar 26, 2022   |  By k6
So you've run your k6 load test, but how do you analyze your load test results? In this video, Nicole van der Hoeven and Paul Balogh talk about different ways to visualize your test results and make sense of all that data. A big part of the value of performance testing is in the analysis of the results, so presenting and reporting test data in a format that stakeholders can understand will help you improve your performance outcomes.

k6 is a developer-centric, free and open-source load testing tool built for making performance testing a productive and enjoyable experience. Using k6, you'll be able to catch performance regression and problems earlier, allowing you to build resilient systems and robust applications.

Quickly build test cases to validate the performance of your APIs or microservices. Validate that your system can handle the expected volume of traffic, and catch SLA/SLO-breaking performance regressions in CI before they reach production.

Built primarily for load testing, k6 tests can with advantage be reused for performance monitoring of your APIs and microservices in production.

Features:

  • Seamless scaling to the cloud: Designed to use the same test in a local, distributed or cloud environment. It provides an unified experience for various usage.
  • Built for automation: Designed for automating your performance tests. Get Pass/Fail behavior on your performance goals.
  • Write tests in Javascript code: Full scripting language to write realistic load tests. Reuse modules and Javascript libraries to build and maintain your test suite.
  • Multiple choices for storage: k6 can output test results to various backends and formats (Grafana, DataDog, Kafka, JSON).
  • Easy-to-use APIs and CLI: Designed for developers by developers. The k6 API and CLI is intuitive, flexible and powerful.
  • High-performance tool: The k6 engine is written in Go making to be one of the best performing load testing tools.

The best developer experience for load testing.