# Install tsung with Homebrew, apk, dnf, MacPorts, Nix, apt, zypper

Load testing for HTTP, PostgreSQL, Jabber, and others. Version 1.8.0 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:tsung
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install tsung
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install tsung
```

  Evidence: MacPorts ports tree: erlang/tsung/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add tsung
```

  Evidence: Alpine Linux edge package indexes: tsung from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz

- dnf (92%):

```sh
sudo dnf install tsung
```

  Evidence: Fedora Rawhide package metadata: tsung from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#tsung
```

  Evidence: nixpkgs package indexes: pkgs/by-name/ts/tsung/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- Ubuntu apt (92%):

```sh
sudo apt install tsung
```

  Evidence: Ubuntu 24.04 LTS package indexes: tsung from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz

- zypper (92%):

```sh
sudo zypper install tsung
```

  Evidence: openSUSE Tumbleweed package metadata: tsung from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

## Package facts

- **Package key:** brew:tsung
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/tsung>
- **Version:** 1.8.0
- **Source summary:** Load testing for HTTP, PostgreSQL, Jabber, and others
- **Homepage:** <https://github.com/processone/tsung>
- **Repository:** <https://github.com/processone/tsung>
- **Upstream docs:** <http://tsung.erlang-projects.org/user_manual>
- **License:** GPL-2.0-or-later
- **Source archive:** <https://github.com/processone/tsung/archive/refs/tags/v1.8.0.tar.gz>
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- tsplot (cli)
- tsung (cli)
- tsung-recorder (cli)
- tsplot (alias)
- tsung (alias)
- tsung-recorder (alias)

## Dependencies

- erlang
- gnuplot

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, sonoma, ventura, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 1.8.0
- Local data: ok
- Upstream repository: https://github.com/processone/tsung
- Upstream latest detected: v1.8.0 (current)
- info: No package-manager update timestamp was available.
## Project history and usage

Tsung is a distributed, Erlang-based load-testing tool for protocol-level benchmarks. Its official documentation describes it as the successor to IDX-Tsunami and as a multi-protocol stress tool for HTTP, WebDAV, SOAP, PostgreSQL, MySQL, AMQP, MQTT, LDAP, and Jabber/XMPP servers.

### Project history

Tsung began in 2001 when Nicolas Niclausse started IDX-Tsunami at IDEALX as an internal distributed Jabber load-stress tool. The project became an open-source multi-protocol load-testing tool within months, added HTTP support in 2003, and later moved to GitHub under processone.

The project's architecture reflects its Erlang roots: it uses lightweight processes and distributed Erlang to generate high concurrency from a single machine or a cluster. The manual ties this design to Erlang/OTP's performance, scalability, and fault-tolerance characteristics.

Release history shows a long-lived specialist tool rather than a short-lived benchmark script. The changelog documents protocol and reporting expansion across the 1.x line, including MQTT support in 1.5.0, WebSocket and WSS work in later releases, 1.7.0 in 2017, and 1.8.0 in 2023.

### Adoption history

Tsung's own manual records industrial and research use, including large Jabber/XMPP and HTTP/HTTPS tests, French public-sector and enterprise users, and very high-concurrency benchmark examples on clusters and EC2.

In package-manager culture, Tsung became the kind of tool installed when a simple request loop was not enough. The supplied package facts list it in Homebrew, Alpine, Fedora, MacPorts, Nix, Ubuntu, and openSUSE package sets, which matches its role as a Unix-friendly load generator.

GitHub metadata also indicates durable open-source attention: the upstream repository was created on GitHub in 2010, uses the develop branch as default, and remains active with thousands of stars and hundreds of forks as of the 2026 API response checked for this batch.

### How it is used

Typical Tsung use is scenario-driven: users write XML configurations, run distributed client nodes, and generate reports on response time, connection time, requests per second, errors, and target-server monitoring.

The official recorder is part of its practical appeal. `tsung-recorder` can capture HTTP, WebDAV, and PostgreSQL sessions into XML under `~/.tsung/`, letting operators turn browser or database traffic into reusable benchmark scenarios.

### Why package nerds care

Tsung matters to package nerds because it packages a full distributed benchmark harness behind a small set of command-line tools: `tsung`, `tsung-recorder`, and `tsplot`. It is a classic example of an Erlang systems tool that is installed from a package manager and then wired into local XML, shell, and graphing workflows.

Its niche overlaps several package ecosystems: web benchmarking, XMPP server testing, database protocol load generation, and Erlang runtime packaging. That makes dependency availability and sane default paths more important than polished desktop UX.

### Timeline

- 2001: Development starts as IDX-Tsunami for internal Jabber load testing at IDEALX.
- 2003: HTTP support is added, broadening the project beyond Jabber/XMPP.
- 2010: The processone/tsung GitHub repository is created.
- 2013: Tsung 1.5.0 adds MQTT support according to the changelog.
- 2017: Tsung 1.7.0 is released with major fixes and protocol enhancements.
- 2023: Tsung 1.8.0 is released with WebSocket, MQTT, reporting, and documentation fixes.

### Related projects

- The manual compares Tsung with simple injectors such as ApacheBench for one-URL loops, while positioning Tsung for complex scenarios and extended reports.
- The background section links Tsung's traffic model to the earlier INRIA WAGON web-traffic generator prototype.

### Sources

- <http://tsung.erlang-projects.org/user_manual/features.html documents supported protocols, XML scenarios, recorder support, and reporting features.>
- <http://tsung.erlang-projects.org/user_manual/introduction.html documents the IDX-Tsunami origin, 2001 start, 2003 HTTP support, Erlang design, and adoption examples.>
- <http://tsung.erlang-projects.org/user_manual/proxy.html documents `tsung-recorder` behavior and output paths.>
- <https://github.com/processone/tsung README and CHANGELOG.md document the supported protocol list and release history.>
- source_facts.package-manager lists package-manager availability across Homebrew, Alpine, Fedora, MacPorts, Nix, Ubuntu, and openSUSE.


## Security Notes

broad file, network, media, or database tool signal.

- **Geiger risk:** blue / medium
- broad file, network, media, or database tool signal


## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: ~/.tsung/tsung.xml
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** tsung
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Nix - tsung: normalized package name match | nixpkgs package indexes: pkgs/by-name/ts/tsung/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - tsung - 1.7.0-3.1: normalized package name match | Ubuntu 24.04 LTS package indexes: tsung from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | distributed multi-protocol load testing tool | http://tsung.erlang-projects.org/
- apk - tsung - 1.8.0-r3: normalized package name match | Alpine Linux edge package indexes: tsung from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Tsung is a high-performance benchmark framework for various protocols including HTTP,XMPP,LDAP,etc. | https://www.process-one.net/en/tsung/
- dnf - tsung - 1.8.0-8.fc44: normalized package name match | Fedora Rawhide package metadata: tsung from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | A distributed multi-protocol load testing tool | http://tsung.erlang-projects.org/
- dnf - tsung-doc - 1.8.0-8.fc44: normalized package name match | Fedora Rawhide package metadata: tsung-doc from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Documentation files for tsung | http://tsung.erlang-projects.org/
- zypper - tsung - 1.8.0-2.4: normalized package name match | openSUSE Tumbleweed package metadata: tsung from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | A distributed multi-protocol load testing tool | http://tsung.erlang-projects.org/
- MacPorts - tsung: normalized package name match | MacPorts ports tree: erlang/tsung/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [erlang](https://www.automicvault.com/pkg/brew/erlang/) - Runtime dependency declared by Homebrew.
- [gnuplot](https://www.automicvault.com/pkg/brew/gnuplot/) - Runtime dependency declared by Homebrew.
- [goku](https://www.automicvault.com/pkg/brew/goku/) - Shares av.db curated category or tags: benchmarking, cli, developer-tools, http, load-testing.
- [siege](https://www.automicvault.com/pkg/brew/siege/) - Shares av.db curated category or tags: benchmarking, cli, developer-tools, http, load-testing.
- [vegeta](https://www.automicvault.com/pkg/brew/vegeta/) - Shares av.db curated category or tags: benchmarking, cli, developer-tools, http, load-testing.
- [cassowary](https://www.automicvault.com/pkg/brew/cassowary/) - Shares av.db curated category or tags: cli, developer-tools, http, load-testing, testing.
- [gor](https://www.automicvault.com/pkg/brew/gor/) - Shares av.db curated category or tags: cli, developer-tools, http, load-testing, testing.
- [hey](https://www.automicvault.com/pkg/brew/hey/) - Shares av.db curated category or tags: cli, developer-tools, http, load-testing, testing.
- [artillery](https://www.automicvault.com/pkg/brew/artillery/) - Shares av.db curated category or tags: cli, developer-tools, load-testing, testing.
- [bzt](https://www.automicvault.com/pkg/brew/bzt/) - Shares av.db curated category or tags: cli, developer-tools, load-testing, testing.

## Combined YAML source

View the package source record on GitHub. [combined/tsung.yml](https://github.com/automic-vault/db/blob/main/combined/tsung.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
