bfg - a modular tool and framework for load generation that supports HTTP/2

  •        4

BFG is a modular tool and framework for load generation. As a tool, BFG is intended to be a load generation module in an automated load testing environment. It will handle creating request to your server(s) using different protocols, maintaining the schedule, measuring and aggregating the results and sending them to uplinks (Mongo, Graphite, file on disk, etc.) Ammo preparation, config generation, data storage, analytics and data representation should be done by other modules of that environment.

https://github.com/yandex-load/bfg

Tags
Implementation
License
Platform

   




Related Projects

yandex-tank - Load and performance benchmark tool

  •    Python

Load and performance benchmark tool

k6 - A modern load testing tool, using Go and JavaScript - https://k6.io

  •    Go

A modern load testing tool for developers and testers in the DevOps era. k6 is a modern load testing tool, building on Load Impact's years of experience in the load and performance testing industry. It provides a clean, approachable scripting API, local and cloud execution, flexible configuration, with command & control through CLI or a REST API.

tourbus - Website load testing tool in Ruby, with the ability to "unload a busload of tourists" on a website, each with the ability to trace through complex application paths

  •    Ruby

Flexible and scalable website testing tool. TourBus is an intelligent website load testing tool. Allows for complicated testing scenarios including filling out forms, following redirects, handling cookies, and following links–all of the things you'd normally associate with a regression suite or integration testing tool. The difference is that TourBus also scales concurrently, and you can perform hundreds of complicated regression tests simultaneously in order to thoroughly load test your website.

gemini - Utility for regression testing of web pages using screenshots

  •    Javascript

Gemini is a utility for regression testing the visual appearance of web pages. Gemini was created at Yandex and is especially useful to UI library developers.


Netling - Netling is a load tester client for easy web testing.

  •    CSharp

Netling is a load tester client for easy web testing. It is extremely fast while using little CPU or memory.The base source is meant to support most scenarios. You can use the wpf client, console client or integrate netling.core into your custom solution.

Yandex.XML.Search

  •    

?????????? ??? ???????? ????????? ???????? ? API Yandex XML: -????? ???????????? POST ? GET ??????? ? API -????????? UTF-8 ????????? ???????? -????????? ????

Grinder - Java Load Testing Framework

  •    Java

The Grinder is a Java load testing framework that makes it easy to run a distributed test using many load injector machines. Load test anything that has a Java API. This includes common cases such as HTTP web servers, SOAP and REST web services, and application servers (CORBA, RMI, JMS, EJBs), as well as custom protocols.

Tsung - Distributed Load Testing Tool

  •    Erlang

Tsung is an open-source multi-protocol distributed load testing tool. It can be used to stress HTTP, WebDAV, SOAP, PostgreSQL, MySQL, LDAP and Jabber/XMPP servers. The purpose of Tsung is to simulate users in order to test the scalability and performance of IP based client/server applications. You can use it to do load and stress testing of your servers. Many protocols have been implemented and tested, and it can be easily extended.

LoadUI - Load Testing Tool

  •    Java

loadUI deliver a visual, drag-and-drop interface which allows you to create, configure and redistribute your Load Tests interactively and in real-time. You can distribute your Load Tests across any number of loadUI Agents on local or remote machines, allowing you to simulate high volume and real-world load with incredible efficiency. It supprots wide range of protocols and technologies from HTTP(S), HTML, SOAP/WSDL and REST to AMF, JDBC, JMS and POX.

locust - Scalable user load testing tool written in Python

  •    Python

Locust is an easy-to-use, distributed, user load testing tool. It is intended for load-testing web sites (or other systems) and figuring out how many concurrent users a system can handle. The idea is that during a test, a swarm of locusts will attack your website. The behavior of each locust (or test user if you will) is defined by you and the swarming process is monitored from a web UI in real-time. This will help you battle test and identify bottlenecks in your code before letting real users in.

boomer - A better load generator for locust, written in golang

  •    Go

Boomer is a better load generator for locust, written in golang. It can spawn thousands of goroutines to run your code concurrently. It will listen and report to the locust master automatically, your test results will be displayed on the master's web UI.

bender - An easy-to-use library for creating load testing applications

  •    Go

Bender makes it easy to build load testing applications for services using protocols like HTTP, Thrift, Protocol Buffers and many more. Bender provides a library of flexible, powerful primitives that can be combined (with plain Go code) to build load testers customized to any use case and that evolve with your service over time. Bender provides two different approaches to load testing. The first, LoadTestThroughput, gives the tester control over the throughput (QPS), but not over the concurrency. This one is very well suited for services that are open to the Internet, like web services, and even backend Thrift or Protocol Buffer services, since it will just keep sending requests, even if the service is struggling. The second approach, LoadTestConcurrency, gives the tester control over the concurrency, but not over the throughput. This approach is better suited to testing services that require lots of concurrent connections, and need to be tested for resource limits.

JMeter - Load and Performance tester

  •    Java

JMeter is a pure Java desktop application designed to load test functional behavior and measure performance. It may be used to test performance both on static and dynamic resources (files, Servlets, Perl scripts, Java Objects, Data Bases and Queries, FTP Servers and more). It can be used to simulate a heavy load on a server, network or object to test its strength or to analyze overall performance under different load types.

Apache JMeter - Pure Java application for load and functional testing

  •    Java

Apache JMeter may be used to test performance both on static and dynamic resources (files, Servlets, Perl scripts, Java Objects, Data Bases and Queries, FTP Servers and more). It can be used to simulate a heavy load on a server, network or object to test its strength or to analyze overall performance under different load types. You can use it to make a graphical analysis of performance or to test your server/script/object behavior under heavy concurrent load.

Vegeta - HTTP load testing tool and library.

  •    Go

Vegeta is a versatile HTTP load testing tool built out of a need to drill HTTP services with a constant request rate. It can be used both as a command line utility and a library.Get them here.

Pylot - Performance & Scalability Testing of Web Services

  •    Python

Pylot is a free open source tool for testing performance and scalability of web services. It runs HTTP load tests, which are useful for capacity planning, benchmarking, analysis, and system tuning. Pylot generates concurrent load (HTTP Requests), verifies server responses, and produces reports with metrics. Tests suites are executed and monitored from a GUI or shell/console.

loadtest - Runs a load test on the selected URL. Easy to extend minimally for your own ends.

  •    Javascript

Runs a load test on the selected HTTP or WebSockets URL. The API allows for easy integration in your own tests.Why use loadtest instead of any other of the available tools, notably Apache ab? loadtest allows you to configure and tweak requests to simulate real world loads.

schema-generator - PHP Model Scaffolding from Schema.org vocabulary

  •    PHP

Schema.org is a vocabulary representing common data structures and their relations. Schema.org can be exposed as JSON-LD, microdata and RDFa. Extracting semantic data exposed in the Schema.org vocabulary is supported by a growing number of companies including Google (Search, Gmail), Yahoo!, Bing and Yandex. Data models provided by Schema.org are popular and have proved efficient. They cover a broad spectrum of topics including creative work, e-commerce, event, medicine, social networking, people, postal address, organization, place or review. Schema.org has its roots in a ton of preexisting well designed vocabularies and is successfully used by more and more websites and applications.

thor - The WebSocket god of thunder

  •    Javascript

Thor is WebSocket benchmarking/load generator. There are a lot of benchmarking tools for HTTP servers. You've got ab, siege, wrk and more. But all these tools only work with plain ol HTTP and have no support for WebSockets - even if they did they wouldn't be suitable, as they would be testing short running HTTP requests instead of long running HTTP requests with a lot of messaging traffic. Thor fixes all of this. Thor requires Node.js to be installed on your system. If you don't have Node.js installed you can download it from http://nodejs.org or build it from the github source repository: http://github.com/joyent/node.