{"id":15406815,"url":"https://github.com/dannyben/stress-server","last_synced_at":"2025-08-03T17:32:18.026Z","repository":{"id":68197877,"uuid":"246249820","full_name":"DannyBen/stress-server","owner":"DannyBen","description":"Docker image for simulating server resource stress","archived":false,"fork":false,"pushed_at":"2024-03-26T07:33:08.000Z","size":32,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-10-19T15:53:46.968Z","etag":null,"topics":["docker","ruby","stress-testing"],"latest_commit_sha":null,"homepage":"","language":"Ruby","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/DannyBen.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-03-10T08:45:42.000Z","updated_at":"2022-12-14T23:13:28.000Z","dependencies_parsed_at":"2024-03-26T08:34:09.347Z","dependency_job_id":"2433d8b0-34fc-4747-9890-00ada2a46a4a","html_url":"https://github.com/DannyBen/stress-server","commit_stats":{"total_commits":28,"total_committers":1,"mean_commits":28.0,"dds":0.0,"last_synced_commit":"fb50284bdbbc4ae80e8439f9ef8957381c118513"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DannyBen%2Fstress-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DannyBen%2Fstress-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DannyBen%2Fstress-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DannyBen%2Fstress-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DannyBen","download_url":"https://codeload.github.com/DannyBen/stress-server/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228556834,"owners_count":17936434,"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":["docker","ruby","stress-testing"],"created_at":"2024-10-01T16:25:31.010Z","updated_at":"2024-12-07T03:43:27.071Z","avatar_url":"https://github.com/DannyBen.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Stress Server\n\n[![Build Status](https://github.com/DannyBen/stress-server/workflows/Test/badge.svg)](https://github.com/DannyBen/stress-server/actions?query=workflow%3ATest)\n\n[Source code on GitHub][github] | [Image on DockerHub][dockerhub]\n\n---\n\nThis is a docker container with the [`stress`][stress] command line installed, and\na webserver that can run stress calls with options.\n\nIt was designed to help in testing and debugging auto scaling configurations.\n\n## Usage\n\nStart the server:\n\n```\n$ docker run --rm -it -p 3000:3000 dannyben/stress-server\n```\n\nUse one of the endpoints below to run the `stress` command on the server.\n\n## Notes\n\n- The server streams its output back to your client. It is recommended you invoke your calls with a streaming option (for example, `--no-buffer` in `curl`).\n- It is recommended to run all your calls with the `timeout` option set, otherwise, you might need to restart the server in order to stop the `stress` process.\n- **You should not run this server in production environments**.\n\n## Server Endpoints\n\n### `GET /stress`\n\nThis is the primary endpoint. It accepts all the arguments accepted by the `stress` command line interface, as query string parameters. You may use either the long or short form.\n\nFor example, if you wish to perform this command:\n\n```\n$ stress -c 1 -m 1 --verbose -t 10\n```\n\nUse this URL:\n\n```\n$ curl --no-buffer \"http://localhost:3000/stress?c=1\u0026m=1\u0026verbose=1\u0026t=10\"\n```\n\nFlags with a hyphen, like `--dry-run` may be expressed with either a hyphen (`dry-run=1`) or an underscore (`dry_run=1`)\n\n### `GET /help`\n\nShow the output of `stress --help`:\n\n```\n$ curl http://localhost:3000/help\n```\n\n\n### `GET /raw/:options`\n\nThis endpoint runs the `stress` command using options in the same syntax as you would normally provide them in the command line. When using `curl` or other HTTP client that does not like spaces in the URL, simply replace the spaces with a `+` sign.\n\nFor example, if you wish to perform this command:\n\n```\n$ stress -c 1 -m 1 --verbose -t 10\n```\n\nUse this URL:\n\n```\n$ curl --no-buffer \"http://localhost:3000/raw/-c+1+-m+1+--verbose+-t+10\"\n```\n\n\n## Development\n\nTo run the server in development:\n\n```\n$ bundle exec rackup -s thin -p 3000 -o 0.0.0.0\n```\n\nOr, if you have [opcode]:\n\n```\n$ op serve\n```\n\nTo run the dockerized version of the server:\n\n```\n$ docker-compose up web\n```\n\n---\n\n[stress]: https://linux.die.net/man/1/stress\n[opcode]: https://github.com/dannyben/opcode\n[github]: https://github.com/DannyBen/stress-server\n[dockerhub]: https://hub.docker.com/r/dannyben/stress-server\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdannyben%2Fstress-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdannyben%2Fstress-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdannyben%2Fstress-server/lists"}