https://github.com/selectel/ftpbench
Benchmark for load testing FTP servers
https://github.com/selectel/ftpbench
benchmark community ftp
Last synced: about 1 year ago
JSON representation
Benchmark for load testing FTP servers
- Host: GitHub
- URL: https://github.com/selectel/ftpbench
- Owner: selectel
- License: mit
- Created: 2014-09-15T11:07:28.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2024-01-26T21:53:11.000Z (over 2 years ago)
- Last Synced: 2025-04-30T16:17:29.331Z (about 1 year ago)
- Topics: benchmark, community, ftp
- Language: Python
- Homepage:
- Size: 26.4 KB
- Stars: 10
- Watchers: 11
- Forks: 9
- Open Issues: 1
-
Metadata Files:
- Readme: README
- License: LICENSE
Awesome Lists containing this project
README
.. -*- mode: rst -*-
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
--------
* gevent (http://www.gevent.org/)
* dnspython (http://www.dnspython.org/)
* docopt (http://docopt.org)
* Timecard (https://github.com/selectel/timecard)
Installation
------------
Simple from pypi::
$ pip install ftpbench
From source::
$ git clone https://github.com/selectel/ftpbench
$ cd ftpbench/
$ python setup.py install # auto install all requires
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/timecard.py
$ python ftpbench.py --help
Usage
-----
Run::
$ ftpbench --help
FTP benchmark.
Usage:
ftpbench --help
ftpbench -h -u -p [options] login
ftpbench -h -u -p [options] upload [-s ]
ftpbench -h -u -p [options] download [-s ] [--files ]
Connection options:
-h , --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.
For IPv6 use brackets,
e.g.: -h [2001:db8::216:cbff::42]:21.
-u , --user= FTP user
-p , --password= FTP password
Timing options:
-t , --timeout= Timeout for operation [default: 10]
--maxrun= Duration of benchmarking in minutes [default: 5]
--fixevery= Recording period for stat values [default: 5]
Benchmark options:
-c , --concurrent= Concurrent operations [default: 10]
--csv= Save result to csv file
Base ftp dir to store test files
-s , --size= Size of test files in MB [default: 10]
--files Number of files generated for download test [default: 10]