{"id":33001,"date":"2023-03-17T12:55:55","date_gmt":"2023-03-17T12:55:55","guid":{"rendered":"https:\/\/www.devopsschool.com\/blog\/?p=33001"},"modified":"2023-03-17T12:55:56","modified_gmt":"2023-03-17T12:55:56","slug":"hey-tool-http-load-generator-apachebench-ab-replacementhey-tool","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/hey-tool-http-load-generator-apachebench-ab-replacementhey-tool\/","title":{"rendered":"hey tool &#8211; HTTP load generator, ApacheBench (ab) replacementhey tool &#8211;"},"content":{"rendered":"\n<h1 class=\"wp-block-heading\">What is hey?<\/h1>\n\n\n\n<p>HTTP load generator, ApacheBench (ab) replacement<\/p>\n\n\n\n<p>hey is a tiny program that sends some load to a web application.<\/p>\n\n\n\n<p>hey was originally called boom and was influenced from Tarek Ziade&#8217;s tool at tarekziade\/boom. Using the same name was a mistake as it resulted in cases where binary name conflicts created confusion. To preserve the name for its original owner, we renamed this project to hey.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How to download?<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Linux 64-bit: https:\/\/hey-release.s3.us-east-2.amazonaws.com\/hey_linux_amd64<\/li>\n\n\n\n<li>Mac 64-bit: https:\/\/hey-release.s3.us-east-2.amazonaws.com\/hey_darwin_amd64<\/li>\n\n\n\n<li>Windows 64-bit: https:\/\/hey-release.s3.us-east-2.amazonaws.com\/hey_windows_amd64<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">How to install in Linux?<\/h2>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">$ wget https:<span class=\"hljs-comment\">\/\/hey-release.s3.us-east-2.amazonaws.com\/hey_linux_amd64<\/span>\r\n$ <span class=\"hljs-keyword\">echo<\/span> $PATH\r\n$ mv hey_linux_amd64 hey\r\n$ mv hey \/usr\/local\/bin\r\n$ hey\r\n$ chmod <span class=\"hljs-number\">755<\/span> \/usr\/local\/bin\/hey<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h2 class=\"wp-block-heading\">Reference<\/h2>\n\n\n\n<p><a href=\"https:\/\/github.com\/rakyll\/hey\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/rakyll\/hey<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Usages:<\/h2>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">Usage: hey &#91;options...] &lt;url&gt;\r\n\r\nOptions:\r\n  -n  <span class=\"hljs-built_in\">Number<\/span> <span class=\"hljs-keyword\">of<\/span> requests to run. Default is <span class=\"hljs-number\">200.<\/span>\r\n  -c  <span class=\"hljs-built_in\">Number<\/span> <span class=\"hljs-keyword\">of<\/span> workers to run concurrently. Total number <span class=\"hljs-keyword\">of<\/span> requests cannot\r\n      be smaller than the concurrency level. Default is <span class=\"hljs-number\">50.<\/span>\r\n  -q  Rate limit, <span class=\"hljs-keyword\">in<\/span> queries per second (QPS) per worker. Default is no rate limit.\r\n  -z  Duration <span class=\"hljs-keyword\">of<\/span> application to send requests. When duration is reached,\r\n      application stops and exits. If duration is specified, n is ignored.\r\n      Examples: -z <span class=\"hljs-number\">10<\/span>s -z <span class=\"hljs-number\">3<\/span>m.\r\n  -o  Output type. If none provided, a summary is printed.\r\n      <span class=\"hljs-string\">\"csv\"<\/span> is the only supported alternative. Dumps the response\r\n      metrics <span class=\"hljs-keyword\">in<\/span> comma-separated values format.\r\n\r\n  -m  HTTP method, one <span class=\"hljs-keyword\">of<\/span> GET, POST, PUT, DELETE, HEAD, OPTIONS.\r\n  -H  Custom HTTP header. You can specify <span class=\"hljs-keyword\">as<\/span> many <span class=\"hljs-keyword\">as<\/span> needed by repeating the flag.\r\n      For example, -H <span class=\"hljs-string\">\"Accept: text\/html\"<\/span> -H <span class=\"hljs-string\">\"Content-Type: application\/xml\"<\/span> .\r\n  -t  Timeout <span class=\"hljs-keyword\">for<\/span> each request <span class=\"hljs-keyword\">in<\/span> seconds. Default is <span class=\"hljs-number\">20<\/span>, use <span class=\"hljs-number\">0<\/span> <span class=\"hljs-keyword\">for<\/span> infinite.\r\n  -A  HTTP Accept header.\r\n  -d  HTTP request body.\r\n  -D  HTTP request body <span class=\"hljs-keyword\">from<\/span> file. For example, \/home\/user\/file.txt or .\/file.txt.\r\n  -T  Content-type, defaults to <span class=\"hljs-string\">\"text\/html\"<\/span>.\r\n  -a  Basic authentication, <span class=\"hljs-attr\">username<\/span>:password.\r\n  -x  HTTP <span class=\"hljs-built_in\">Proxy<\/span> address <span class=\"hljs-keyword\">as<\/span> host:port.\r\n  -h2 Enable HTTP\/<span class=\"hljs-number\">2.<\/span>\r\n\r\n  -host\tHTTP Host header.\r\n\r\n  -disable-compression  Disable compression.\r\n  -disable-keepalive    Disable keep-alive, prevents re-use <span class=\"hljs-keyword\">of<\/span> TCP\r\n                        connections between different HTTP requests.\r\n  -disable-redirects    Disable following <span class=\"hljs-keyword\">of<\/span> HTTP redirects\r\n  -cpus                 <span class=\"hljs-built_in\">Number<\/span> <span class=\"hljs-keyword\">of<\/span> used cpu cores.\r\n                        (<span class=\"hljs-keyword\">default<\/span> <span class=\"hljs-keyword\">for<\/span> current machine is <span class=\"hljs-number\">8<\/span> cores)<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>","protected":false},"excerpt":{"rendered":"<p>What is hey? HTTP load generator, ApacheBench (ab) replacement hey is a tiny program that sends some load to a web application. hey was originally called boom and was influenced&#8230; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_joinchat":[],"footnotes":""},"categories":[2],"tags":[],"class_list":["post-33001","post","type-post","status-publish","format-standard","hentry","category-uncategorised"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/33001","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/comments?post=33001"}],"version-history":[{"count":1,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/33001\/revisions"}],"predecessor-version":[{"id":33002,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/33001\/revisions\/33002"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=33001"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=33001"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=33001"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}