Go performance-testing

Open-source Go projects categorized as performance-testing

Top 8 Go performance-testing Projects

performance-testing
  • anteon

    Anteon (formerly Ddosify) - Effortless Kubernetes Monitoring and Performance Testing. Available on CLI, Self-Hosted, and Cloud

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • fortio

    Fortio load testing library, command line tool, advanced echo server and web UI in go (golang). Allows to specify a set query-per-second load and record latency histograms and other useful stats.

  • Project mention: Fortio, load testing library and command line tool | news.ycombinator.com | 2023-06-21
  • go-wrk

    go-wrk - a HTTP benchmarking tool based in spirit on the excellent wrk tool (https://github.com/wg/wrk)

  • kube-burner

    Kubernetes performance and scale test orchestration framework written in golang

  • Pewpew

    Flexible HTTP command line stress tester for websites and web services (by bengadbois)

  • ptg

    💥Performance testing tool (Go), It is also a GUI gRPC client.

  • hargo

    Hargo is a Go library and command line utility that parses HAR files, can convert to curl format, and serve as a load test driver.

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • xk6-kafka

    k6 extension to load test Apache Kafka with support for various serialization formats, SASL, TLS, compression, Schema Registry client and beyond

  • Project mention: Performance testing Kafka server using xk6-kafka | dev.to | 2024-01-01

    import { Writer, Reader, SCHEMA_TYPE_STRING, SchemaRegistry, GROUP_BALANCER_ROUND_ROBIN, BALANCER_ROUND_ROBIN, } from "k6/x/kafka"; import { check, sleep } from "k6"; const bootstrapServers = [ 'kafka-bootsrap-1:9001', ]; let vus_amount = 3; let total_written = 0; let total_read = 0; export const options = { vus: vus_amount, iterations: "3", thresholds: { kafka_writer_error_count: ["count == 0"], kafka_reader_error_count: ["count == 0"], }, }; const topicName = "my-topic"; const schemaRegistry = new SchemaRegistry(); const producer = new Writer({ brokers: bootstrapServers, topic: topicName, balancer: BALANCER_ROUND_ROBIN, // or pick another balancer https://github.com/mostafa/xk6-kafka/blob/main/api-docs/index.d.ts#L66 // ... auth config }); export function teardown(data) { producer.close(); } export default function () { const consumer = new Reader({ brokers: bootstrapServers, // it is important to set groupID, groupTopics and groupBalancers when using Kafka bootstrap server // topic ReaderConfig param doesn't quite work with bootstrap server groupID: topicName + "-group", groupTopics: [topicName], groupBalancers: [GROUP_BALANCER_ROUND_ROBIN], // or pick different balancer https://github.com/mostafa/xk6-kafka/blob/main/api-docs/index.d.ts#L75 }); let messageAmount = 1000; if (__VU == 1) { console.log('VU 1, writing messages. Iter ' + __ITER); for (let index = 0; index < messageAmount; index++) { let messages = [ { value: schemaRegistry.serialize({ data: "test-value-string-" + index + "-vu-" + __VU + "-iter-" + __ITER, schemaType: SCHEMA_TYPE_STRING, }), }, ]; producer.produce({ messages: messages }); total_written += messages.length; } } let consumerMsgAmount = Math.floor(messageAmount / vus_amount); let messages = consumer.consume({ limit: consumerMsgAmount}); total_read += messages.length; console.log("Amount of msgs received: " + messages.length + ", VU " + __VU + ", iter " + __ITER); check(messages, { "all messages returned": (msgs) => msgs.length == consumerMsgAmount, }); let firstMessageValue = schemaRegistry.deserialize({ data: messages[0].value, schemaType: SCHEMA_TYPE_STRING, }); let lastMessageValue = schemaRegistry.deserialize({ data: messages[consumerMsgAmount - 1].value, schemaType: SCHEMA_TYPE_STRING, }); check(messages[0], { "Topic equals to": (msg) => msg["topic"] == topicName }); console.log("First msg value " + firstMessageValue + ", offset" + messages[0]["offset"] + ", partition " + messages[0]["partition"] + ", VU " + __VU + ", iter " + __ITER); console.log("Last msg value " + lastMessageValue + ", offset" + messages[consumerMsgAmount - 1]["offset"] + ", partition " + messages[0]["partition"] + ", VU " + __VU + ", iter " + __ITER); consumer.close(); }

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020).

Go performance-testing discussion

Log in or Post with

Go performance-testing related posts

  • Performance testing Kafka server using xk6-kafka

    1 project | dev.to | 1 Jan 2024
  • 🔥 What is Apache Kafka and how to perform performance tests on it (Part 2) 👨🏻‍💻

    2 projects | dev.to | 18 Dec 2023
  • xk6-kafka v0.12.0 is released! 🎉

    1 project | /r/golang | 4 Jul 2022
  • Request - Load testing tool

    2 projects | /r/softwaretesting | 28 Feb 2022
  • Ddosify : High-performance load testing tool

    2 projects | dev.to | 25 Oct 2021
  • How to Load Test Your Kafka Producers and Consumers using k6

    2 projects | dev.to | 21 Sep 2021
  • Performance Testing in Kubernetes using Kangal

    2 projects | dev.to | 22 Apr 2021
  • A note from our sponsor - InfluxDB
    www.influxdata.com | 12 Jun 2024
    Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality. Learn more →

Index

What are some of the best open-source performance-testing projects in Go? This list will help you:

Project Stars
1 anteon 8,223
2 fortio 3,196
3 go-wrk 866
4 kube-burner 463
5 Pewpew 410
6 ptg 321
7 hargo 229
8 xk6-kafka 131

Sponsored
Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com