{ "info": { "author": "Matthew Treinish", "author_email": "mtreinish@kortar.org", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Information Technology", "Intended Audience :: System Administrators", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6" ], "description": "pymqttbench\n===========\n\nThis is a tool to benchmark the performance of an mqtt broker. It works by\nlaunching an arbitrary number of publishers and subscribers in parallel. These\nworkers both publish and subscribe to the same topic and either send or recieve\na fixed number of messages.\n\n\nInstallation\n------------\n\nThe easiest way to install pymqttbench is use pip::\n\n pip install pymqttbench\n\nAlternatively you can clone the repo with::\n\n git clone https://github.com/mtreinish/pymqttbench.git\n\nthen install it using pip::\n\n pip install ./pymqttbench\n\nAlternatively you can run::\n\n cd pymqttbench && python setup.py install\n\nhowever using pip is recommended.\n\nUsage\n-----\n\nAfter installing pymqttbench you simply run it with the::\n\n pymqttbench --hostname $BROKER_HOST\n\ncommand. The hostname parameter is required to tell pymqttbench the hostname\nof the broker. This is the only required field, but there are several other\noptions exposed for how to connect to the broker. ``--port`` is used to specify\nthe port if you're not connecting on the standard port, ``1883``. ``--username``\nand ``--password`` are used to specify user authentication if needed. Similiarly\n``--cacert`` can be used to specify a trusted CA certificate to verify the TLS\nconnection on the broker. There is also the ``--topic`` parameter which\nis used to specify a topic to use for the benchmark, by default *pybench* is\nused. Note that all of these settings are used for both the publishers and\nsubscribers.\n\nOutside of mqtt connection options there is also the ``--brief`` flag which is\nused to print a colon separated list of benchmark results instead of the default\nhuman readable formatted output. The format for this output is::\n\n Subscriber Count:Publisher Count:Subscriber Mean Duration:Subscriber Duration Std. Deviation:Subscriber Avg. Throughput:Subscriber Total Throughput:Publisher Mean Duration:Publisher Duration Std. Deviation:Publisher Avg. Throughput:Publisher Total Throughput\n\nTuning the benchmark\n''''''''''''''''''''\n\nAfter pymqttbench knows how to connect to the broker you can tune the benchmark\nto your specific needs. There are several axes you can adjust the bechmark on,\nthe first being the number of publishers and subscribers. This is configurable\nwith the ``--pub-clients`` and ``--sub-clients`` flags. By default each is set\nto *10*. The next option you can tune is the number of messages that the\npublishers will send, with ``--pub-count``, and the number of messages the\nsubscribers will listen for, with ``--sub-count``. It's worth pointing out that\nthe subscribers do not pair with an individual worker like in some other\nbenchmarking tools, but instead listen to the same topic that all the publishers\npublish to. In addition with adjusting these options you'll likely want to\nchange the publisher timeout, ``--pub-timeout``, and the subscriber timeout,\n``sub-timeout``, which describe how long the benchmark will wait for the worker\nto either publish or recieve the specified message count.\n\nYou can also set how large the message payload is with ``--msg-size`` which\ntakes the number of bytes to use. By default it uses a 1024 byte payload. The\nlast tuning option is ``--qos`` which is used to specify the qos level to use\nfor benchmarking. By default qos 0 is used.", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "pymqttbench", "package_url": "https://pypi.org/project/pymqttbench/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/pymqttbench/", "project_urls": null, "release_url": "https://pypi.org/project/pymqttbench/0.1.1/", "requires_dist": null, "requires_python": "", "summary": "A script to benchmark an MQTT broker", "version": "0.1.1" }, "last_serial": 2901306, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "4815a995cfdd579842c57b0698bf1f5d", "sha256": "7e5ec34280746a17041b9f90b2858629e623ac0c63ecb664f1817f9bb8a62081" }, "downloads": -1, "filename": "pymqttbench-0.1.0.tar.gz", "has_sig": false, "md5_digest": "4815a995cfdd579842c57b0698bf1f5d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11139, "upload_time": "2017-05-26T16:10:43", "url": "https://files.pythonhosted.org/packages/1e/20/54ff1f3e0ac6a89108d296e89866e47e53f7a061f182d70fbddab57b74b2/pymqttbench-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "4f1cf12dd06e82f0edfc70983e253ee8", "sha256": "945bcd35a1c9e2e9b3511dfcadfa06cfb72a00490ecd50db6cc7c1875c92f2f8" }, "downloads": -1, "filename": "pymqttbench-0.1.1.tar.gz", "has_sig": false, "md5_digest": "4f1cf12dd06e82f0edfc70983e253ee8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11182, "upload_time": "2017-05-26T16:16:02", "url": "https://files.pythonhosted.org/packages/6e/a9/e60006d56a62d8fed8959ef398344612a2d516f3411181cd88115151df1d/pymqttbench-0.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4f1cf12dd06e82f0edfc70983e253ee8", "sha256": "945bcd35a1c9e2e9b3511dfcadfa06cfb72a00490ecd50db6cc7c1875c92f2f8" }, "downloads": -1, "filename": "pymqttbench-0.1.1.tar.gz", "has_sig": false, "md5_digest": "4f1cf12dd06e82f0edfc70983e253ee8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11182, "upload_time": "2017-05-26T16:16:02", "url": "https://files.pythonhosted.org/packages/6e/a9/e60006d56a62d8fed8959ef398344612a2d516f3411181cd88115151df1d/pymqttbench-0.1.1.tar.gz" } ] }