Skip to main content

What is ftpbench?

It’s benchmark for load testing FTP servers.

Feature

  • login benchmark

  • upload benchmark (STOR command)

  • download benchmark (RETR command)

  • run test for multiple servers

  • auto-detection for dns round-robin records

  • save result to cvs file

Requires

Installation

From source:

$ git clone https://github.com/selectel/ftpbench
$ cd ftpbench/
$ python setup.py install  # auto install all requires

From pypi:

$ pip install ftpbench

Standalone for ubuntu:

$ apt-get install python-gevent python-dnspython
$ git clone https://github.com/selectel/ftpbench
$ cd ftpbench/ftpbench/
$ wget https://raw.githubusercontent.com/docopt/docopt/master/docopt.py
$ wget https://raw.githubusercontent.com/selectel/timecard/master/timecard.py
$ python ftpbench.py --help

Usage

Run:

$ ftpbench --help

FTP benchmark.

Usage:
    ftpbench --help
    ftpbench -h <host> -u <user> -p <password> [options] login
    ftpbench -h <host> -u <user> -p <password> [options] upload <workdir> [-s <size>]
    ftpbench -h <host> -u <user> -p <password> [options] download <workdir> [-s <size>] [--files <count>]

Connection options:
    -h <host>, --host=<host>              FTP host [default: 127.0.0.1:21]
                                          You can list multiple servers, separated by commas,
                                          e.g.: -h 10.0.0.1,10.0.0.2,10.0.0.3.
                                          Auto-detection of dns round-robin records is supported.
    -u <user>, --user=<user>              FTP user
    -p <password>, --password=<password>  FTP password

Timing options:
    -t <sec>, --timeout=<sec>             Timeout for operation [default: 10]
    --maxrun=<minutes>                    Duration of benchmarking in minutes [default: 5]
    --fixevery=<sec>                      Recording period for stat values [default: 5]

Benchmark options:
    -c <count>, --concurrent=<count>      Concurrent operations [default: 10]
    --csv=<file>                          Save result to csv file
    <workdir>                             Base ftp dir to store test files
    -s <size>, --size=<size>              Size of test files in MB [default: 10]
    --files <count>                       Number of files generated for download test [default: 10]

Metadata

Release files for ftpbench 1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ftpbench 1.0
File Size Uploaded
ftpbench-1.0.tar.gz 4.8 kB Details

Release files / ftpbench-1.0.tar.gz

Download URL ftpbench-1.0.tar.gz
Size 4.8 kB
Tags Source
SHA-256 checksum
How to use checksums
6fd5d472e71f680fe6c8c6b09f09533bd8c16963c63f55389ea40c133938dde3
BLAKE2b-256 checksum
How to use checksums
15f90434209869f57765d0f5b4a09cbcf1396b40fc8a60afe6e01d9b1a21a4ae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

1.0 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page