{"id":17348344,"url":"https://github.com/jmervine/httperfpy","last_synced_at":"2026-03-03T17:33:43.643Z","repository":{"id":4679548,"uuid":"5826084","full_name":"jmervine/httperfpy","owner":"jmervine","description":"Python port of httperfrb","archived":false,"fork":false,"pushed_at":"2014-12-17T18:01:37.000Z","size":214,"stargazers_count":11,"open_issues_count":0,"forks_count":8,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-24T17:45:24.363Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://pypi.python.org/pypi/httperfpy/","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/jmervine.png","metadata":{"files":{"readme":"README.txt","changelog":"CHANGES.txt","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-09-16T02:43:59.000Z","updated_at":"2017-08-04T08:05:17.000Z","dependencies_parsed_at":"2022-09-13T11:31:00.995Z","dependency_job_id":null,"html_url":"https://github.com/jmervine/httperfpy","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/jmervine/httperfpy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmervine%2Fhttperfpy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmervine%2Fhttperfpy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmervine%2Fhttperfpy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmervine%2Fhttperfpy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jmervine","download_url":"https://codeload.github.com/jmervine/httperfpy/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmervine%2Fhttperfpy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30052499,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-03T15:26:47.567Z","status":"ssl_error","status_checked_at":"2026-03-03T15:26:17.132Z","response_time":61,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":[],"created_at":"2024-10-15T16:52:02.273Z","updated_at":"2026-03-03T17:33:43.608Z","avatar_url":"https://github.com/jmervine.png","language":"Python","readme":"=========\nhttperfpy\n=========\n\nA python port of httperfrb http://github.com/jmervine/httperfrb.\n\nBuilt and tested using:\n\n        $ python --version\n        Python 2.7.3\n\n        $ uname -s -r -m\n        Linux 3.2.0-29-generic x86_64\n\n\n\nInstalling 'httperf'\n====================\n\nRequires httperf, of course...\n\nMac\n------\n\n    sudo port install httperf\n\nDebian / Ubuntu\n---------------\n\n    sudo apt-get install httperf\n\nRedhat / CentOS\n---------------\n\n    sudo yum install httperf\n\nMy 'httperf'\n------------\n\n** This is required for proper verbose handling. **\n\nSee: http://mervine.net/httperf-0-9-1-with-individual-connection-times.\n\n\nInstallation / Setup\n====================\n\nPerferred Method\n----------------\n\n        $ sudo pip install httperfpy\n\nSee: http://pypi.python.org/pypi/httperfpy/\n\nFrom Source\n-----------\n\nSimply clone code and add checkout location to your PYTHONPATH.\n\nRunning tests...\n----------------\n\n1. sudo apt-get install python-unit\n2. git clone https://github.com/jmervine/httperfpy.git\n3. cd httperfpy\n4. ./scripts/unit\n\n\nUsage\n-----\n\n        #!/usr/bin/env python\n        from httperfpy import Httperf\n\n        perf = Httperf(server=\"www.example.com\",\n                        port=8080,\n                        num_conns=100)\n        # replace dashes (\"-\") with underscores (\"_\") in httperf options\n\n        perf.parser = True\n\n        results = perf.run()\n\n        print results[\"connection_time_avg\"] + \" is avg\"\n        print results[\"connection_time_max\"] + \" is max\"\n\n\nYou can use `Httperf.display_options` to print a list of all available options.\n\nPassing variables and key-values to httperf\n\n        #!/usr/bin/env python\n        from httperfpy import Httperf\n\n        # arguments, key-value arguments\n        perf = Httperf('hog', 'ssl', path='/path/to/httperf',\n                server='www.example.com'...)\n\n        # or only key-value arguments\n        perf = Httperf(hog=True, ssl=True, path='/path/to/httperf',\n                server='www.example.com'...)\n        ...\n\n\nStand-alone parser...\n---------------------\n\n        #!/usr/bin/env python\n        from httperfpy import HttperfParser\n\n        results = HttperfParser.parse(httperf_result_string)\n        print results[\"connection_time_avg\"] + \" is avg\"\n        print results[\"connection_time_max\"] + \" is max\"\n\n\n\nParser Keys:\n------------\n\n    - command\n    - max_connect_burst_length\n    - total_connections\n    - total_requests\n    - total_replies\n    - total_test_duration\n    - connection_rate_per_sec\n    - connection_rate_ms_conn\n    - connection_time_min\n    - connection_time_avg\n    - connection_time_max\n    - connection_time_median\n    - connection_time_stddev\n    - connection_time_connect\n    - connection_length\n    - request_rate_per_sec\n    - request_rate_ms_request\n    - request_size\n    - reply_rate_min\n    - reply_rate_avg\n    - reply_rate_max\n    - reply_rate_stddev\n    - reply_rate_samples\n    - reply_time_response\n    - reply_time_transfer\n    - reply_size_header\n    - reply_size_content\n    - reply_size_footer\n    - reply_size_total\n    - reply_status_1xx\n    - reply_status_2xx\n    - reply_status_3xx\n    - reply_status_4xx\n    - reply_status_5xx\n    - cpu_time_user_sec\n    - cpu_time_system_sec\n    - cpu_time_user_pct\n    - cpu_time_system_pct\n    - cpu_time_total_pct\n    - net_io_kb_sec\n    - net_io_bps\n    - errors_total\n    - errors_client_timeout\n    - errors_socket_timeout\n    - errors_conn_refused\n    - errors_conn_reset\n    - errors_fd_unavail\n    - errors_addr_unavail\n    - errors_ftab_full\n    - errors_other\n\n\n","funding_links":[],"categories":["Webserver Benchmarks","Web server Benchmarks"],"sub_categories":["Meetups"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjmervine%2Fhttperfpy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjmervine%2Fhttperfpy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjmervine%2Fhttperfpy/lists"}