{ "info": { "author": "jamiesun", "author_email": "jamiesun.net@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 6 - Mature", "Intended Audience :: Developers", "Programming Language :: Python :: 2.7", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: System :: Systems Administration :: Authentication/Directory" ], "description": "# toughbt\n\ntoughbt \u662f\u4e00\u4e2a\u57fa\u4e8ePython/twisted\u5f00\u53d1\u7684 radius \u670d\u52a1\u6027\u80fd\u6d4b\u8bd5\u5de5\u5177\u3002\n\n## \u8fd0\u884c\u73af\u5883\n\n - Linux/Mac OSX/BSD\n - ZMQ\n - Python 2.7/PyPy\n - easy_install/pip\n\n\n## \u5b89\u88c5\n\n pip install toughbt\n\n## \u4f7f\u7528\u8bf4\u660e\n\n $ trbctl -h\n\n usage: trbctl [-h] [-auth] [-acct] [-m] [-w] [-s SERVER] [-P PORT] [-e SECRET]\n [-u USERNAME] [-p PASSWORD] [-n REQUESTS] [-c CONCURRENCY] [-v]\n [-t TIMEOUT] [-f FORK] [-i INTERVAL] [-r RATE] [-conf CONF]\n\n optional arguments:\n -h, --help show this help message and exit\n -auth, --auth Run radius auth test\n -acct, --acct Run radius acct test\n -m, --master Run benchmark master\n -w, --worker Run benchmark worker\n -s SERVER, --server SERVER\n Radius server address\n -P PORT, --port PORT Radius server auth port or acct port\n -e SECRET, --secret SECRET\n Radius testing share secret\n -u USERNAME, --username USERNAME\n Radius testing username\n -p PASSWORD, --password PASSWORD\n Radius testing password\n -n REQUESTS, --requests REQUESTS\n Number of requests to perform\n -c CONCURRENCY, --concurrency CONCURRENCY\n Number of multiple requests to make at a time\n -v, --verbosity How much troubleshooting info to print\n -t TIMEOUT, --timeout TIMEOUT\n Seconds to max. wait for all response\n -f FORK, --fork FORK Fork worker process nums, default 1\n -i INTERVAL, --interval INTERVAL\n Stat data interval, default 2 sec\n -r RATE, --rate RATE Max send message rate , default 5000 per process\n -conf CONF, --conf CONF\n Radius testing config file\n\n\n## \u793a\u4f8b\n\n $ trbctl --auth -m -u trbtest -p 888888 -n 10000 -c 100 -f 2 -i 5 -r 500 -t 1000\n\n benckmark worker created! master pid - 78933, worker pid - 78937\n benckmark worker created! master pid - 78933, worker pid - 78938\n write worker 78938 log into /tmp/trbctl-worker-1.log\n write worker 78937 log into /tmp/trbctl-worker-0.log\n ...........\n ...........\n ...........\n ...........\n ...........\n ...........\n ------------------ radius auth benchmark statistics result ----------------------\n -\n - Benchmark params\n -\n - Client platform : Darwin-15.3.0-x86_64-i386-64bit, x86_64\n - Python implement, version : PyPy, 2.7.9\n - Radius server address : 127.0.0.1\n - Radius Server auth port : 1812\n - Raduius share secret : secret\n - Auth Request total : 10000\n - Concurrency level : 100\n - Worker Process num : 2\n - All Requests timeout : 1000 sec\n - Stat data interval : 5 sec\n - Send request rate : 500/sec\n -\n - Time data statistics\n -\n - Current stat datetime : Sat Mar 19 19:09:54 2016\n - Current sent request : 10000\n - Current received response : 10000\n - Current accepts response : 9992\n - Current rejects response : 8\n - Current error response : 0\n - Current requests per second : 373.312449622, cast 3.75824594498 sec\n - Current max requests per second : 502.08186488, cast 5.01711010933 sec\n - Current time per request : 2.67872127226 ms\n - Current min time per request : 1.99170707 ms\n - Current max time per request : 35.0688480669 ms\n - Current Cast total seconds : 28.886922121 sec\n ---------------------------------------------------------------------------------", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/talkincode/toughguy", "keywords": "radius,AAA,authentication,accounting,authorization,toughradius,toughguy", "license": "BSD", "maintainer": null, "maintainer_email": null, "name": "toughguy", "package_url": "https://pypi.org/project/toughguy/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/toughguy/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/talkincode/toughguy" }, "release_url": "https://pypi.org/project/toughguy/0.0.2/", "requires_dist": null, "requires_python": null, "summary": "ToughSTRUCT Software Tools", "version": "0.0.2" }, "last_serial": 2020214, "releases": { "0.0.1": [ { "comment_text": "built for Darwin-15.3.0", "digests": { "md5": "c0cba3479991933579c4334df53e38b4", "sha256": "8df1fee667b02ef8b6c3644b698db25854c78c97540a336032d5c5a37bff8f1e" }, "downloads": -1, "filename": "toughguy-0.0.1.macosx-10.11-x86_64.tar.gz", "has_sig": false, "md5_digest": "c0cba3479991933579c4334df53e38b4", "packagetype": "bdist_dumb", "python_version": "any", "requires_python": null, "size": 5260, "upload_time": "2016-03-22T09:19:46", "url": "https://files.pythonhosted.org/packages/d6/1e/ba8871a2a9b2da4b1b70b03213ca8f7040b3d167fd06d5e992fd88a78a7e/toughguy-0.0.1.macosx-10.11-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "803e315bc480c89696312b3f2f238069", "sha256": "b4429399125cb16707533b609d037181b03b20149318e734b71e845860260659" }, "downloads": -1, "filename": "toughguy-0.0.1-py2-none-any.whl", "has_sig": false, "md5_digest": "803e315bc480c89696312b3f2f238069", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 10478, "upload_time": "2016-03-22T09:20:01", "url": "https://files.pythonhosted.org/packages/bc/50/80bf6bb0344768ffccd548e3029ede277990052f2b2adc1e5cfa9b85324b/toughguy-0.0.1-py2-none-any.whl" } ], "0.0.2": [ { "comment_text": "built for Darwin-15.3.0", "digests": { "md5": "20d50a1f0d5ace52f7eee3467708d843", "sha256": "48cc3d757f86360165bae0b6e7a88d596c0b53676ba83fad5e1a0d9b2adefff4" }, "downloads": -1, "filename": "toughguy-0.0.2.macosx-10.11-x86_64.tar.gz", "has_sig": false, "md5_digest": "20d50a1f0d5ace52f7eee3467708d843", "packagetype": "bdist_dumb", "python_version": "any", "requires_python": null, "size": 5259, "upload_time": "2016-03-22T09:21:29", "url": "https://files.pythonhosted.org/packages/e6/35/59e8c5996b1aac3d76a3f459a8377a4be2d99d89ea1d426f75e2f34b3080/toughguy-0.0.2.macosx-10.11-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "820ebbf19197567df9ba11914c61d4c3", "sha256": "2e8de474cceb1dce9f8de1a2d6e0cc0ad13c9147e61c0a5e866d667f8af26632" }, "downloads": -1, "filename": "toughguy-0.0.2-py2-none-any.whl", "has_sig": false, "md5_digest": "820ebbf19197567df9ba11914c61d4c3", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 10469, "upload_time": "2016-03-22T09:22:01", "url": "https://files.pythonhosted.org/packages/fa/7d/2301d10fea6f839a936b4df85f61927c15e20e4c046b891a76a2b5b3cbdf/toughguy-0.0.2-py2-none-any.whl" } ] }, "urls": [ { "comment_text": "built for Darwin-15.3.0", "digests": { "md5": "20d50a1f0d5ace52f7eee3467708d843", "sha256": "48cc3d757f86360165bae0b6e7a88d596c0b53676ba83fad5e1a0d9b2adefff4" }, "downloads": -1, "filename": "toughguy-0.0.2.macosx-10.11-x86_64.tar.gz", "has_sig": false, "md5_digest": "20d50a1f0d5ace52f7eee3467708d843", "packagetype": "bdist_dumb", "python_version": "any", "requires_python": null, "size": 5259, "upload_time": "2016-03-22T09:21:29", "url": "https://files.pythonhosted.org/packages/e6/35/59e8c5996b1aac3d76a3f459a8377a4be2d99d89ea1d426f75e2f34b3080/toughguy-0.0.2.macosx-10.11-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "820ebbf19197567df9ba11914c61d4c3", "sha256": "2e8de474cceb1dce9f8de1a2d6e0cc0ad13c9147e61c0a5e866d667f8af26632" }, "downloads": -1, "filename": "toughguy-0.0.2-py2-none-any.whl", "has_sig": false, "md5_digest": "820ebbf19197567df9ba11914c61d4c3", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 10469, "upload_time": "2016-03-22T09:22:01", "url": "https://files.pythonhosted.org/packages/fa/7d/2301d10fea6f839a936b4df85f61927c15e20e4c046b891a76a2b5b3cbdf/toughguy-0.0.2-py2-none-any.whl" } ] }