Browse free open source Performance Testing software and projects below. Use the toggles on the left to filter open source Performance Testing software by OS, license, language, programming language, and project status.

  • MongoDB Atlas runs apps anywhere Icon
    MongoDB Atlas runs apps anywhere

    Deploy in 115+ regions with the modern database for every enterprise.

    MongoDB Atlas gives you the freedom to build and run modern applications anywhere—across AWS, Azure, and Google Cloud. With global availability in over 115 regions, Atlas lets you deploy close to your users, meet compliance needs, and scale with confidence across any geography.
    Start Free
  • Keep company data safe with Chrome Enterprise Icon
    Keep company data safe with Chrome Enterprise

    Protect your business with AI policies and data loss prevention in the browser

    Make AI work your way with Chrome Enterprise. Block unapproved sites and set custom data controls that align with your company's policies.
    Download Chrome
  • 1
    Dependencies

    Dependencies

    A rewrite of the old legacy software "depends.exe" in C# for Windows

    Dependencies is a rewrite of the legacy software Dependency Walker which was shipped along Windows SDKs, but whose development stopped around 2006. Dependencies can help Windows developers troubleshooting their dll load dependencies issues. Dependencies is currently shipped as two binaries (no installer present) : Dependencies.exe as a CLI tool and DependenciesGui.exe for its GUI counterpart (see screenshot). Just click on one of the release numbers above (preferably the latest), download and uncompress the archive and run DependenciesGui.exe. Since the binary is not signed, SmartScreen might scream at runtime. Dependencies also bundle ClrPhTester.exe, a dumpbin-like executable used to test for non-regressions. Dependencies currently does not recursively resolve child imports when parsing a new PE since it can be really memory-hungry to do so ( it can over a GB even for "simple" PEs ).
    Downloads: 219 This Week
    Last Update:
    See Project
  • 2
    ZAP

    ZAP

    The OWASP ZAP core project

    The OWASP Zed Attack Proxy (ZAP) is one of the world’s most popular free security tools and is actively maintained by a dedicated international team of volunteers. It can help you automatically find security vulnerabilities in your web applications while you are developing and testing your applications. It's also a great tool for experienced pentesters to use for manual security testing. ZAP is an easy to use integrated penetration testing tool for finding vulnerabilities in web applications. It is designed to be used by people with a wide range of security experience and as such is ideal for developers and functional testers who are new to penetration testing. ZAP provides automated scanners as well as a set of tools that allow you to find security vulnerabilities manually. It stands between the tester’s browser and the web application so that it can intercept and inspect messages sent between browser and web application.
    Downloads: 136 This Week
    Last Update:
    See Project
  • 3
    Reactotron

    Reactotron

    Desktop app for inspecting your React JS and React Native projects

    Reactotron is a macOS, Windows, and Linux app for inspecting your React JS and React Native apps. View your application state, show API requests & responses, perform quick performance benchmarks, subscribe to parts of your application state, display messages similar to console.log, track global errors with source-mapped stack traces including saga stack traces! You can dispatch actions like a government-run mind control experiment, hot swap your app's state using Redux or mobx-state-tree, track your sagas, show image overlay in React Native, track your Async Storage in React Native, etc. You plug it into your app as a dev dependency so it adds nothing to your product builds. Reactotron, as an open source project, is free to use and always will be.
    Downloads: 79 This Week
    Last Update:
    See Project
  • 4
    PerfView

    PerfView

    PerfView is a CPU and memory performance-analysis tool

    PerfView is a free performance analysis tool that helps isolate CPU and memory-related performance issues. It is a Windows tool, but it also has some support for analyzing data collected on Linux machines. It works for a wide variety of scenarios, but has a number of special features for investigating performance issues in code written for the .NET runtime. If you are unfamiliar with PerfView, there are PerfView video tutorials. Also, Vance Morrison's blog gives an overview and getting started information. PerfView is built on a library called Microsoft.Diagnostics.Tracing.TraceEvent, which knows how to both collect and parse Event Tracing for Windows (ETW) data. Thus if there is any information that PerfView collects and processes that you would like to manipulate yourself programmatically, you would probably be interested in the TraceEvent Library Documentation.
    Downloads: 50 This Week
    Last Update:
    See Project
  • Our Free Plans just got better! | Auth0 Icon
    Our Free Plans just got better! | Auth0

    With up to 25k MAUs and unlimited Okta connections, our Free Plan lets you focus on what you do best—building great apps.

    You asked, we delivered! Auth0 is excited to expand our Free and Paid plans to include more options so you can focus on building, deploying, and scaling applications without having to worry about your security. Auth0 now, thank yourself later.
    Try free now
  • 5
    sysbench

    sysbench

    Scriptable database and system performance benchmark

    sysbench is a scriptable multi-threaded benchmark tool based on LuaJIT. It is most frequently used for database benchmarks, but can also be used to create arbitrarily complex workloads that do not involve a database server. extensive statistics about rate and latency is available, including latency percentiles and histograms. Low overhead even with thousands of concurrent threads. sysbench is capable of generating and tracking hundreds of millions of events per second. New benchmarks can be easily created by implementing pre-defined hooks in user-provided Lua scripts. Can be used as a general-purpose Lua interpreter as well, simply replace #!/usr/bin/lua with #!/usr/bin/sysbench in your script. Execute events for this many seconds with statistics disabled before the actual benchmark run with statistics enabled. This is useful when you want to exclude the initial period of a benchmark run from statistics.
    Downloads: 19 This Week
    Last Update:
    See Project
  • 6
    Phoronix Test Suite

    Phoronix Test Suite

    Open-Source, Automated Benchmarking

    The Phoronix Test Suite is the most comprehensive testing and benchmarking platform available that provides an extensible framework for which new tests can be easily added. The Phoronix Test Suite is designed to effectively carry out both benchmarks in a clean, reproducible, and easy-to-use manner.
    Downloads: 17 This Week
    Last Update:
    See Project
  • 7

    PyLoris

    A protocol agnostic application layer denial of service attack.

    PyLoris is a scriptable tool for testing a server's vulnerability to connection exhaustion denial of service (DoS) attacks. PyLoris can utilize SOCKS proxies and SSL connections, and can target protocols such as HTTP, FTP, SMTP, IMAP, and Telnet.
    Leader badge
    Downloads: 69 This Week
    Last Update:
    See Project
  • 8
    TestCafe

    TestCafe

    A Node.js tool to automate end-to-end web testing

    TestCafe is a Node.js tool for automating end-to-end web testing. All you have to do is set it up, write tests in JS or TypeScript, run them and view the results. There’s no need for WebDrivers or other testing software. Installing TestCafe takes just one minute and one command. TestCafe lets you create smart, stable tests with no manual timeouts. It can run parallel tests, saving you on test execution time, and can even build readable tests with PageObject. TestCafe runs on all popular platforms and environments, from mobile to desktop, as well as remote and cloud browsers. It’s totally free and open source, with plenty of community-made plugins and the freedom to create your own.
    Downloads: 9 This Week
    Last Update:
    See Project
  • 9
    Speedtest Tracker

    Speedtest Tracker

    Speedtest Tracker is a self-hosted internet performance tracking app

    A Docker image to check your internet speed using Ookla's Speedtest service. Build using Laravel and the Speedtest CLI. Speedtest Tracker is a self-hosted internet performance tracking application that runs speed test checks against Ookla's Speedtest service. The main use case for Speedtest Tracker is to build a history of your internet's performance so that you can be informed when you're not receiving your ISP's advertised rates. Speedtest Tracker is containerized so you can run it anywhere you run your Docker containers. The install documentation will get you up and running using Docker or Docker Composer along with choosing a database (SQLite, MySQL/MariaDB, or Postgresql).
    Downloads: 8 This Week
    Last Update:
    See Project
  • Get Access to Web Data with reliable proxies Icon
    Get Access to Web Data with reliable proxies

    For companies and anyone seeking a solution offering commercial residential and ISP proxy network IPs

    Market-leading proxy solution provides tens of millions of IP resources. Commercial residential and ISP proxy network includes 90M+ IPs around the world. Exclusive high-performance server requests access to real residential addresses. Abundant bandwidth support business demands. Real-time speed can reach 1M-5M/s.99% success rate guarantee data collection activities. There is no limit to the number of uses or invocation frequencies of the proxies. You can generate huge amounts of proxies at one time. Provide various API parameter configurations. Generate proxies by the method of username & password authentication, convenient and fast. Get highly anonymous real residential IPs and your privacy and safety are completely protected. Your real network environment won't be acquired at any time. Exclusive high-performance server requests access in real residential addresses, maintaining the normal connection of the proxies. Unlimited concurrency reduces business costs.
    Learn More
  • 10
    Karate

    Karate

    Test automation made simple

    Karate is the only open-source tool to combine API test-automation, mocks, performance-testing and even UI automation into a single, unified framework. The BDD syntax popularized by Cucumber is language-neutral, and easy for even non-programmers. Assertions and HTML reports are built-in, and you can run tests in parallel for speed. There’s also a cross-platform stand-alone executable for teams not comfortable with Java. You don’t have to compile code. Just write tests in a simple, readable syntax, carefully designed for HTTP, JSON, GraphQL and XML. And you can mix API and UI test-automation within the same test script. A Java API also exists for those who prefer to programmatically integrate Karate’s rich automation and data-assertion capabilities. It is worth pointing out that JSON is a ‘first class citizen’ of the syntax such that you can express payload and expected data without having to use double-quotes and without having to enclose JSON field names in quotes.
    Downloads: 7 This Week
    Last Update:
    See Project
  • 11
    PM2

    PM2

    Node.js Production Process Manager with a built-in Load Balancer

    PM2 (Process Manager 2) is a production process manager with its own built-in load-balancer for Node.js applications. If you want battle-hardened Node.js applications that can be monitored and kept alive forever, PM2 is the way to go. PM2 lets you manage, maintain and increase Node.js performance. It is constantly assailed by over 1800 tests so you can deliver high quality applications, and deploy confidently and more often. PM2 is cross-platform and arguably the most widely-used process manager for Node.js with over 100 million downloads. Setting it up is easy, it just takes a couple of minutes and one simple command.
    Downloads: 6 This Week
    Last Update:
    See Project
  • 12
    Playwright for Python

    Playwright for Python

    Python version of the Playwright testing and automation library

    Playwright enables reliable end-to-end testing for modern web apps. Single API to automate Chromium, Firefox and WebKit. Capable automation for single page apps that rely on the modern web platform. Use the Playwright API in JavaScript & TypeScript, Python, .NET and, Java. With Playwright, test how your app behaves in Apple Safari with WebKit builds for Windows, Linux and macOS. Test locally and on CI. Use device emulation to test your responsive web apps in mobile web browsers. Playwright supports headless (without browser UI) and headed (with browser UI) modes for all browsers and all platforms. Headed is great for debugging, and headless is faster and suited for CI/cloud executions. Playwright interactions auto-wait for elements to be ready. This improves reliability and simplifies test authoring. Playwright receives browser signals, like network requests, page navigations and page load events to eliminate the need for sleep timeouts that cause flakiness.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 13
    SerialToIP is a simple Terminal Server software providing transparent pipe either in TCP server or TCP client socket mode from TCP/IP to a pre-configured serial port. Implemented in C# for .NET 2.0 so the command line version could work in Mono-runtime as well.
    Leader badge
    Downloads: 20 This Week
    Last Update:
    See Project
  • 14
    Buildbot

    Buildbot

    Python-based continuous integration testing framework

    Buildbot is an open-source framework for automating software build, test, and release processes. At its core, Buildbot is a job scheduling system: it queues jobs, executes the jobs when the required resources are available, and reports the results. Your Buildbot installation has one or more masters and a collection of workers. The masters monitor source-code repositories for changes, coordinate the activities of the workers, and report results to users and developers. Workers run on a variety of operating systems. You configure Buildbot by providing a Python configuration script to the master. This script can be very simple, configuring built-in components, but the full expressive power of Python is available. This allows dynamic generation of configuration, customized components, and anything else you can devise. The framework itself is implemented in Twisted Python, and compatible with all major operating systems.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 15
    Nuke

    Nuke

    Image loading system

    Nuke ILS provides an efficient way to download and display images in your app. It's easy to learn and use thanks to a clear and concise API. Its architecture enables many powerful features while offering virtually unlimited possibilities for customization. Despite the number of features, the framework is lean and compiles in just under 3 seconds¹. Nuke has an automated test suite 2x the size of the codebase itself, ensuring excellent reliability. Every feature is carefully designed and optimized for performance. Fast LRU memory cache, native HTTP disk cache, and custom aggressive LRU disk cache. Customize image pipeline using built-in Alamofire, Gifu, FLAnimatedImage, WebP plugins or create your own. Enable progressive decoding with a single line of code. Nuke supports progressive JPEG out of the box, and WebP via a plugin built by the community. Automatically prefetch images ahead of time using either Preheat or native table and collection view prefetching APIs.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 16
    dockerize

    dockerize

    Utility to simplify running applications in docker containers

    Utility to simplify running applications in docker containers. dockerize is a utility to simplify running applications in docker containers. It allows you to generate application configuration files at container startup time from templates and container environment variables. generate application configuration files at container startup time from templates and container environment variables. Wait for other services to be available using TCP, HTTP(S), unix before starting the main process. The typical use case for dockerize is when you have an application that has one or more configuration files and you would like to control some of the values using environment variables. Another use case is when the application logs to specific files on the filesystem and not stdout or stderr. This makes it difficult to troubleshoot the container using the docker logs command.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 17
    pipx

    pipx

    Install and run Python applications in isolated environments

    pipx is a tool to help you install and run end-user applications written in Python. It's roughly similar to macOS's brew, JavaScript's npx, and Linux's apt. It's closely related to pip. In fact, it uses pip, but is focused on installing and managing Python packages that can be run from the command line directly as applications. pip is a general-purpose package installer for both libraries and apps with no environment isolation. pipx is made specifically for application installation, as it adds isolation yet still makes the apps available in your shell: pipx creates an isolated environment for each application and its associated packages. pipx does not ship with pip, but installing it is often an important part of bootstrapping your system. By default, pipx uses the same package index as pip, PyPI. pipx can also install from all other sources pip can, such as a local directory, wheel, git url, etc.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 18
    Auto Mouse Clicker - Super Fast

    Auto Mouse Clicker - Super Fast

    A Powerful and Easy to Use Automatic Mouse Click and Drag Generator

    A powerful, fast and yet easy to use automatic mouse click and drag generator. This application allows you to do enormous repetitive clicks and drags with various configuration like adjusting speed and duration of clicks. No installation required, just download and run. NEW FEATURE in 1.3.1: You can now configure/change keyboard short cut just by clicking on short cut text.
    Downloads: 32 This Week
    Last Update:
    See Project
  • 19
    KeepingYouAwake

    KeepingYouAwake

    Prevents your Mac from going to sleep

    KeepingYouAwake is a small menu bar utility for macOS (Version 10.12 and newer) that can prevent your Mac from entering sleep mode for a predefined duration or as long as it is activated. The app is a small wrapper around Apple's caffeinate command line utility. All current versions of macOS ship with this tool by default. On a MacBook this only works as long as the lid is open. This utility will not harm your Mac because it is based on an official command line tool by Apple. Version 1.5.2 is the latest release that supports macOS Yosemite and El Capitan. KeepingYouAwake uses Sparkle's ui-separation-and-xpc branch to deliver updates. You can build and sign Sparkle with make Vendor. To build a release version of the app just run make dist.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 20
    Marathon -GUI Test Runner Web, Swing, FX

    Marathon -GUI Test Runner Web, Swing, FX

    Marathon supports testing of Java/Swing and Java/Fx applications.

    Marathon provides an integrated environment for test script creation and execution. Supported FW: Web, Java Swing/ Java FX. Currently, Marathon supports JRuby script models for recording the test scripts.Marathon test runner generates Allure test reports.Marathon allows for grouping of test cases.It also has an option of inserting modules while recording(in MarathonITE while recording). It allows tester to inset checklist while recording and also takes screen capture and annotate it in playing the test cases. Extraction of code into modules and inserting it is very easy using marathon.It has different themes of UI which attracts tester to do work on it. Object mapping is quite simple and configuring is very easy for tester to understand and do the work. Debugging of test scripts is also easy and has script console which takes selenium commands. Slow play of test cases is also available.It allows to create multiple fixtures for different types of tests.
    Leader badge
    Downloads: 7 This Week
    Last Update:
    See Project
  • 21
    Booster

    Booster

    Optimizer for mobile applications

    Booster is an easy-to-use, lightweight, powerful and extensible quality optimization toolkit designed specially for mobile applications. The primary goal is to solve quality problems with the increase of APP complexity, such as performance, stability, and package size, etc. Booster provides a collection of modules for performance detection, multithreading optimization, resources index inline, redundant resources reduction, resources compression, system bug fixing, etc. Using booster, the stability of application can be increased by 15% ~ 25%, and the package size can be reduced by 1MB ~ 10MB. Potential performance issues could be found by using Booster, for example, calling APIs that may block the UI thread or main thread, such as I/O APIs. Thread management has always been a problem for developers, especially the threads started by third-party SDKs, starting too many threads may cause OOM, fortunately, these issues can be solved by Booster.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 22
    Concurrent Ruby

    Concurrent Ruby

    Modern concurrency tools including agents, futures, promises, etc.

    Modern concurrency tools including agents, futures, promises, thread pools, supervisors, and more. Inspired by Erlang, Clojure, Scala, Go, Java, JavaScript, and classic concurrency patterns. Concurrent Ruby is an 'unopinionated' toolbox that provides useful utilities without debating which is better or why. It remains free of external gem dependencies. It stays true to the spirit of the languages providing inspiration, but implements in a way that makes sense for Ruby. Keeps the semantics as idiomatic Ruby as possible, supports features that make sense in Ruby. Excludes features that don't make sense in Ruby. It is small, lean, and loosely coupled, thread-safety, and with backward compatibility. Concurrent Ruby makes one of the strongest thread safety guarantees of any Ruby concurrency library, providing consistent behavior and guarantees on all four of the main Ruby interpreters (MRI/CRuby, JRuby, Rubinius, TruffleRuby).
    Downloads: 1 This Week
    Last Update:
    See Project
  • 23
    LazyLoad

    LazyLoad

    LazyLoad is a lightweight, flexible script that speeds up your website

    LazyLoad is a fast, lightweight and flexible script that speeds up your web application by loading images only as they enter the viewport. LazyLoad supports responsive images. LazyLoad is a lightweight (2.4 kB) and flexible script that speeds up your web application by deferring the loading of your below-the-fold images, animated SVGs, videos and iframes to when they will enter the viewport. It’s written in plain “vanilla” JavaScript, it leverages the IntersectionObserver API, it supports responsive images, it optimizes your website for slower connections, and can enable native lazy loading. To display content images on your pages, always use the img tag. This would benefit the SEO and the accessibility of your website. To understand if your images are content or background, ask yourself: “would my website user like to see those images when printing out the page?”. If the answer is “yes”, then your images are content images and you should avoid using background images to display them.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 24
    Matrix

    Matrix

    Plugin style, non-invasive APM system developed by WeChat

    Matrix is an APM (Application Performance Manage) used in Wechat to monitor, locate and analyse performance problems. It is a plugin style, non-invasive solution and is currently available on iOS, macOS and Android. The monitoring scope of the current tool includes: crash, lag, and out-of-memory, which includes the following two plugins, WCCrashBlockMonitorPlugin, which is based on KSCrash framework and features cutting-edge lag stack capture capabilities with crash capture, and WCMemoryStatPlugin, which is a performance-optimized out-of-memory monitoring tool that captures memory allocation and the callstack of an application's out-of-memory event. Determine whether the app is stuck by checking the running status of the Runloop, and support both the iOS and macOS platform. Add time-consuming stack fetching, attaching the most time-consuming main thread stack to the thread snapshot log.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 25
    OpenResty SystemTap Toolkit

    OpenResty SystemTap Toolkit

    Real-time analysis and diagnostics tools for OpenResty

    The openresty-systemtap-toolkit is a collection of SystemTap-based scripts designed for real-time analysis and diagnostics of OpenResty and its core components, including NGINX, LuaJIT, and ngx_lua. It provides developers and system administrators with tools to trace performance bottlenecks, memory usage, request distribution, regex execution, Lua execution, and file I/O behaviors in production systems. The toolkit helps identify leaks, analyze TCP queues, inspect shared memory usage, and generate flame graphs for CPU and off-CPU profiling. Many scripts are specific to NGINX worker and master processes, while others are generic enough to be applied to any Linux user-space process. Although the toolkit is no longer actively maintained—development has shifted to OpenResty XRay—it remains a valuable set of examples and utilities for advanced users of OpenResty and NGINX.
    Downloads: 1 This Week
    Last Update:
    See Project