ftpbenchmark
?
What is 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
- gevent (http://www.gevent.org/)
- dnspython (http://www.dnspython.org/)
- Timecard (https://github.com/selectel/timecard)
Installation
Simple from pypi:
$ pip install ftpbenchmark
From source:
$ git clone https://github.com/imjoseangel/ftpbenchmark $ cd ftpbenchmark/ $ python setup.py install # auto install all requires
Standalone for debian:
$ apt-get install python-gevent python-dnspython $ git clone https://github.com/imjoseangel/ftpbenchmark $ cd ftpbenchmark/ftpbenchmark/ $ wget https://raw.githubusercontent.com/selectel/timecard/master/timecard/timecard.py $ python ftpbenchmark.py --help
Usage
Run:
$ ftpbenchmark --help FTP benchmark. Usage: ftpbenchmark --help ftpbenchmark -n <host> -u <user> -p <password> [options] --login ftpbenchmark -n <host> -u <user> -p <password> [options] --upload -w <workdir> [-s <size>] ftpbenchmark -n <host> -u <user> -p <password> [options] --download -w <workdir> [-s <size>] [--files <count>] Connection options: -n <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] -m <minutes>, --maxrun <minutes> Duration of benchmarking in minutes [default: 5] -x <sec>, --fixevery <sec> Recording period for stat values [default: 5] Benchmark options: -c <count>, --concurrent <count> Concurrent operations [default: 10] -v <file>, --csv <file> Save result to csv file -w <workdir>, --workdir <workdir> Base ftp dir to store test files -s <size>, --size <size> Size of test files in MB [default: 10] -f <count>, --files <count> Number of files generated for download test [default: 10]