{"id":15959113,"url":"https://github.com/nickstenning/ckan-perf-testing","last_synced_at":"2025-04-04T10:57:30.614Z","repository":{"id":19585323,"uuid":"22835440","full_name":"nickstenning/ckan-perf-testing","owner":"nickstenning","description":"Performance testing tools for CKAN (but probably applicable more generally)","archived":false,"fork":false,"pushed_at":"2014-08-11T10:31:16.000Z","size":108,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-09T21:11:34.981Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nickstenning.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-08-11T10:31:04.000Z","updated_at":"2016-11-21T15:52:56.000Z","dependencies_parsed_at":"2022-08-23T20:30:58.461Z","dependency_job_id":null,"html_url":"https://github.com/nickstenning/ckan-perf-testing","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nickstenning%2Fckan-perf-testing","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nickstenning%2Fckan-perf-testing/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nickstenning%2Fckan-perf-testing/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nickstenning%2Fckan-perf-testing/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nickstenning","download_url":"https://codeload.github.com/nickstenning/ckan-perf-testing/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247166157,"owners_count":20894652,"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":[],"created_at":"2024-10-07T14:40:24.407Z","updated_at":"2025-04-04T10:57:30.562Z","avatar_url":"https://github.com/nickstenning.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CKAN performance testing\n\nThis repository contains a couple of simple shell scripts for running\nperformance and load tests against CKAN.\n\n## requirements\n\nThe tests require the following testing tools to be installed:\n\n- [wrk](https://github.com/wg/wrk)\n- [vegeta](https://github.com/tsenart/vegeta)\n\n## urls\n\nThe tests use an input file containing URL paths to test. Each URL is tested\nindividually by the performance testing script, while the load testing script\nissues requests to randomly-chosen URLs from the input file.\n\nAn example input file is supplied in `views`, for use with a CKAN instance that\nhas had the [demo datasets](https://github.com/ckan/ckan-demo-data) loaded, but\n**note that resource IDs are currently not fixed by the demo data and will need\nto be updated in the `views` file before using these scripts**.\n\n## performance tests\n\nRun:\n\n    ./perf http://ckanrooturl.com \u003cviews\n\nA report will be generated with a filename of the form:\n\n    YYYYMMDDHHMMSS_perf.txt\n\n## load tests\n\nRun:\n\n    ./perf http://ckanrooturl.com \u003cviews\n\nThis will run tests at several request rates, and reports will be generated with\nfilenames of the form:\n\n    YYYYMMDDHHMMSS_load_N.bin\n\n`N` indicates the request rate for the test run. You can override the default\nset of request rates by setting the `REQUEST_RATES` environment variable. For\nexample, to run load tests at 2, 8, and 16 req/s, run:\n\n    REQUEST_RATES=\"2 8 16\" ./perf http://ckanrooturl.com \u003cviews\n\n## processing reports\n\nThe report generated by the performance tests is textual.\n\nThe reports generated by the load tests are binary reports from the `vegeta`\ntool and can be parsed into a textual summary using the `vegeta report` command:\n\n    vegeta report \u003c20140811T111729_load_10.bin\n\nYou can also generate HTML plot reports:\n\n    vegeta report -reporter plot \u003eout.html \u003c20140811T111729_load_10.bin\n\n## caveats\n\nDO NOT run performance or load tests against CKAN instances you do not control.\n\nIt is probably unwise to run performance or load tests against public CKAN\ninstances (or public websites in general).\n\nThe results of these tests reflect the behaviour of CKAN under highly artificial\nloading conditions and you should be cautious when attempting to forecast CKAN's\nperformance under real loading conditions on the basis of the output of these\ntools.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnickstenning%2Fckan-perf-testing","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnickstenning%2Fckan-perf-testing","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnickstenning%2Fckan-perf-testing/lists"}