An open API service indexing awesome lists of open source software.

https://github.com/imjoseangel/ftpbenchmark


https://github.com/imjoseangel/ftpbenchmark

Last synced: 4 months ago
JSON representation

Awesome Lists containing this project

README

          

.. -*- mode: rst -*-

What is ``ftpbenchmark``?
-------------------------

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 -u -p [options] --login
ftpbenchmark -n -u -p [options] --upload -w [-s ]
ftpbenchmark -n -u -p [options] --download -w [-s ] [--files ]

Connection options:
-n , --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 FTP user
-p , --password FTP password

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

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