{"id":23564151,"url":"https://github.com/selectel/ftpbench","last_synced_at":"2025-04-30T16:17:35.952Z","repository":{"id":20768576,"uuid":"24053300","full_name":"selectel/ftpbench","owner":"selectel","description":"Benchmark for load testing FTP servers","archived":false,"fork":false,"pushed_at":"2024-01-26T21:53:11.000Z","size":27,"stargazers_count":10,"open_issues_count":1,"forks_count":9,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-04-30T16:17:29.331Z","etag":null,"topics":["benchmark","community","ftp"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/selectel.png","metadata":{"files":{"readme":"README","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2014-09-15T11:07:28.000Z","updated_at":"2024-06-14T07:08:00.000Z","dependencies_parsed_at":"2024-01-28T18:54:57.438Z","dependency_job_id":null,"html_url":"https://github.com/selectel/ftpbench","commit_stats":{"total_commits":11,"total_committers":3,"mean_commits":"3.6666666666666665","dds":0.5454545454545454,"last_synced_commit":"42dd3bb6a4623b628668167bcceee3210a050ada"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/selectel%2Fftpbench","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/selectel%2Fftpbench/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/selectel%2Fftpbench/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/selectel%2Fftpbench/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/selectel","download_url":"https://codeload.github.com/selectel/ftpbench/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251739677,"owners_count":21635893,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["benchmark","community","ftp"],"created_at":"2024-12-26T17:13:09.454Z","updated_at":"2025-04-30T16:17:35.915Z","avatar_url":"https://github.com/selectel.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":".. -*- mode: rst -*-\n\nWhat is ``ftpbench``?\n---------------------\n\nIt's benchmark for load testing FTP servers.\n\n\nFeature\n-------\n\n* login benchmark\n* upload benchmark (STOR command)\n* download benchmark (RETR command)\n* run test for multiple servers\n* auto-detection for dns round-robin records\n* save result to cvs file\n\n\nRequires\n--------\n\n* gevent (http://www.gevent.org/)\n* dnspython (http://www.dnspython.org/)\n* docopt (http://docopt.org)\n* Timecard (https://github.com/selectel/timecard)\n\n\nInstallation\n------------\n\nSimple from pypi::\n\n    $ pip install ftpbench\n\nFrom source::\n\n    $ git clone https://github.com/selectel/ftpbench\n    $ cd ftpbench/\n    $ python setup.py install  # auto install all requires\n\n\nStandalone for ubuntu::\n\n    $ apt-get install python-gevent python-dnspython\n    $ git clone https://github.com/selectel/ftpbench\n    $ cd ftpbench/ftpbench/\n    $ wget https://raw.githubusercontent.com/docopt/docopt/master/docopt.py\n    $ wget https://raw.githubusercontent.com/selectel/timecard/master/timecard/timecard.py\n    $ python ftpbench.py --help\n\n\nUsage\n-----\n\nRun::\n\n    $ ftpbench --help\n\n    FTP benchmark.\n\n    Usage:\n        ftpbench --help\n        ftpbench -h \u003chost\u003e -u \u003cuser\u003e -p \u003cpassword\u003e [options] login\n        ftpbench -h \u003chost\u003e -u \u003cuser\u003e -p \u003cpassword\u003e [options] upload \u003cworkdir\u003e [-s \u003csize\u003e]\n        ftpbench -h \u003chost\u003e -u \u003cuser\u003e -p \u003cpassword\u003e [options] download \u003cworkdir\u003e [-s \u003csize\u003e] [--files \u003ccount\u003e]\n\n    Connection options:\n        -h \u003chost\u003e, --host=\u003chost\u003e              FTP host [default: 127.0.0.1:21]\n                                              You can list multiple servers, separated by commas,\n                                              e.g.: -h 10.0.0.1,10.0.0.2,10.0.0.3.\n                                              Auto-detection of dns round-robin records is supported.\n                                              For IPv6 use brackets,\n                                              e.g.: -h [2001:db8::216:cbff::42]:21.\n        -u \u003cuser\u003e, --user=\u003cuser\u003e              FTP user\n        -p \u003cpassword\u003e, --password=\u003cpassword\u003e  FTP password\n\n    Timing options:\n        -t \u003csec\u003e, --timeout=\u003csec\u003e             Timeout for operation [default: 10]\n        --maxrun=\u003cminutes\u003e                    Duration of benchmarking in minutes [default: 5]\n        --fixevery=\u003csec\u003e                      Recording period for stat values [default: 5]\n\n    Benchmark options:\n        -c \u003ccount\u003e, --concurrent=\u003ccount\u003e      Concurrent operations [default: 10]\n        --csv=\u003cfile\u003e                          Save result to csv file\n        \u003cworkdir\u003e                             Base ftp dir to store test files\n        -s \u003csize\u003e, --size=\u003csize\u003e              Size of test files in MB [default: 10]\n        --files \u003ccount\u003e                       Number of files generated for download test [default: 10]\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fselectel%2Fftpbench","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fselectel%2Fftpbench","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fselectel%2Fftpbench/lists"}