{"id":562,"date":"2020-11-03T20:52:11","date_gmt":"2020-11-03T12:52:11","guid":{"rendered":"https:\/\/byy3.com\/?p=562"},"modified":"2021-01-09T10:14:00","modified_gmt":"2021-01-09T02:14:00","slug":"linux-%e4%b8%8b%e7%9a%84web%e7%bd%91%e9%a1%b5%e6%80%a7%e8%83%bd%e5%8e%8b%e6%b5%8b%e5%b7%a5%e5%85%b7%ef%bc%9a-apachebench-%e5%92%8c-webbench-%e5%8f%98%e7%9b%b8%e7%89%88ddos%e6%94%bb","status":"publish","type":"post","link":"https:\/\/byy3.com\/?p=562","title":{"rendered":"Linux \u4e0b\u7684Web\u7f51\u9875\u6027\u80fd\u538b\u6d4b\u5de5\u5177\uff1a\u00a0ApacheBench\u00a0\u548c\u00a0WebBench \u53d8\u76f8\u7248ddos\u653b\u51fb"},"content":{"rendered":"<p>Linux \u4e0b\u7684Web\u7f51\u9875\u6027\u80fd\u538b\u6d4b\u5de5\u5177\uff1a\u00a0ApacheBench\u00a0\u548c\u00a0WebBench<\/p>\n<p>&nbsp;<\/p>\n<p><strong>1. ApacheBench<\/strong><\/p>\n<p><strong>ab \u538b\u6d4b\u5de5\u5177\u5b89\u88c5<\/strong><\/p>\n<p>ab\u662f\u9488\u5bf9apache\u7684\u6027\u80fd\u6d4b\u8bd5\u5de5\u5177\uff0c\u53ef\u4ee5\u53ea\u5b89\u88c5ab\u5de5\u5177\uff0c\u652f\u6301 http \u548c https \u7f51\u9875\u3002<\/p>\n<p>Ubuntu\u5b89\u88c5\uff1a<code>sudo apt-get -y install apache2-utils<\/code><\/p>\n<p>CentOS\u5b89\u88c5\uff1a<code>sudo yum -y install httpd-tools<\/code><\/p>\n<p>&nbsp;<\/p>\n<p><strong>ab \u53c2\u6570\u8be6\u7ec6\u89e3\u91ca<\/strong><\/p>\n<p>\u683c\u5f0f\uff1a\u00a0ab [options] [http[s]:\/\/]hostname[:port]\/path<\/p>\n<p>\u793a\u4f8b\uff1a\u00a0ab -n 1000 -c 100 https:\/\/mimvp.com\/<\/p>\n<p>\u53c2\u6570\uff1a<\/p>\n<ul>\n<li>-n\u00a0\u5728\u6d4b\u8bd5\u4f1a\u8bdd\u4e2d\u6240\u6267\u884c\u7684\u8bf7\u6c42\u4e2a\u6570\u3002\u9ed8\u8ba4\u4ec5\u6267\u884c\u4e00\u4e2a\u8bf7\u6c42\u3002<\/li>\n<li>-c\u00a0\u4e00\u6b21\u4ea7\u751f\u7684\u8bf7\u6c42\u4e2a\u6570\u3002\u9ed8\u8ba4\u662f\u4e00\u6b21\u4e00\u4e2a\u8bf7\u6c42\uff1b\u82e5\u4e3a100\uff0c\u5219\u8868\u793a\u6bcf\u6b21\u5e76\u53d1\u8bf7\u6c42100\u4e2a\u3002<\/li>\n<li>-t\u00a0\u6d4b\u8bd5\u6240\u8fdb\u884c\u7684\u6700\u5927\u79d2\u6570\u3002\u5176\u5185\u90e8\u9690\u542b\u503c\u662f-n 50000\uff0c\u5b83\u53ef\u4ee5\u4f7f\u5bf9\u670d\u52a1\u5668\u7684\u6d4b\u8bd5\u9650\u5236\u5728\u4e00\u4e2a\u56fa\u5b9a\u7684\u603b\u65f6\u95f4\u4ee5\u5185\u3002\u9ed8\u8ba4\u65f6\uff0c\u6ca1\u6709\u65f6\u95f4\u9650\u5236\u3002<\/li>\n<li>-p\u00a0\u5305\u542b\u4e86\u9700\u8981POST\u7684\u6570\u636e\u7684\u6587\u4ef6\u3002<\/li>\n<li>-P \u5bf9\u4e00\u4e2a\u4e2d\u8f6c\u4ee3\u7406\u63d0\u4f9bBASIC\u8ba4\u8bc1\u4fe1\u4efb\u3002\u7528\u6237\u540d\u548c\u5bc6\u7801\u7531\u4e00\u4e2a:\u9694\u5f00\uff0c\u5e76\u4ee5base64\u7f16\u7801\u5f62\u5f0f\u53d1\u9001\u3002\u65e0\u8bba\u670d\u52a1\u5668\u662f\u5426\u9700\u8981(\u5373, \u662f\u5426\u53d1\u9001\u4e86401\u8ba4\u8bc1\u9700\u6c42\u4ee3\u7801)\uff0c\u6b64\u5b57\u7b26\u4e32\u90fd\u4f1a\u88ab\u53d1\u9001\u3002<\/li>\n<li>-T POST\u6570\u636e\u6240\u4f7f\u7528\u7684Content-type\u5934\u4fe1\u606f\u3002<\/li>\n<li>-v \u8bbe\u7f6e\u663e\u793a\u4fe1\u606f\u7684\u8be6\u7ec6\u7a0b\u5ea6-4\u6216\u66f4\u5927\u503c\u4f1a\u663e\u793a\u5934\u4fe1\u606f\uff0c3\u6216\u66f4\u5927\u503c\u53ef\u4ee5\u663e\u793a\u54cd\u5e94\u4ee3\u7801(404,200\u7b49),2\u6216\u66f4\u5927\u503c\u53ef\u4ee5\u663e\u793a\u8b66\u544a\u548c\u5176\u4ed6\u4fe1\u606f\u3002<\/li>\n<li>-V \u663e\u793a\u7248\u672c\u53f7\u5e76\u9000\u51fa\u3002<\/li>\n<li>-w \u4ee5HTML\u8868\u7684\u683c\u5f0f\u8f93\u51fa\u7ed3\u679c\u3002\u9ed8\u8ba4\u65f6\uff0c\u5b83\u662f\u767d\u8272\u80cc\u666f\u7684\u4e24\u5217\u5bbd\u5ea6\u7684\u4e00\u5f20\u8868\u3002<\/li>\n<li>-i \u6267\u884cHEAD\u8bf7\u6c42\uff0c\u800c\u4e0d\u662fGET\u3002<\/li>\n<li>-x \u8bbe\u7f6e\u5c5e\u6027\u7684\u5b57\u7b26\u4e32\u3002<\/li>\n<li>-X \u5bf9\u8bf7\u6c42\u4f7f\u7528\u4ee3\u7406\u670d\u52a1\u5668\u3002<\/li>\n<li>-y \u8bbe\u7f6e\u5c5e\u6027\u7684\u5b57\u7b26\u4e32\u3002<\/li>\n<li>-z \u8bbe\u7f6e\u5c5e\u6027\u7684\u5b57\u7b26\u4e32\u3002<\/li>\n<li>-C \u5bf9\u8bf7\u6c42\u9644\u52a0\u4e00\u4e2aCookie:\u884c\u3002\u5176\u5178\u578b\u5f62\u5f0f\u662fname=value\u7684\u4e00\u4e2a\u53c2\u6570\u5bf9\uff0c\u6b64\u53c2\u6570\u53ef\u4ee5\u91cd\u590d\u3002<\/li>\n<li>-H \u5bf9\u8bf7\u6c42\u9644\u52a0\u989d\u5916\u7684\u5934\u4fe1\u606f\u3002\u6b64\u53c2\u6570\u7684\u5178\u578b\u5f62\u5f0f\u662f\u4e00\u4e2a\u6709\u6548\u7684\u5934\u4fe1\u606f\u884c\uff0c\u5176\u4e2d\u5305\u542b\u4e86\u4ee5\u5192\u53f7\u5206\u9694\u7684\u5b57\u6bb5\u548c\u503c\u7684\u5bf9(\u5982,\u201dAccept-Encoding:zip\/zop;8bit\u201d)\u3002<\/li>\n<li>-A \u5bf9\u670d\u52a1\u5668\u63d0\u4f9bBASIC\u8ba4\u8bc1\u4fe1\u4efb\u3002\u7528\u6237\u540d\u548c\u5bc6\u7801\u7531\u4e00\u4e2a:\u9694\u5f00\uff0c\u5e76\u4ee5base64\u7f16\u7801\u5f62\u5f0f\u53d1\u9001\u3002\u65e0\u8bba\u670d\u52a1\u5668\u662f\u5426\u9700\u8981(\u5373,\u662f\u5426\u53d1\u9001\u4e86401\u8ba4\u8bc1\u9700\u6c42\u4ee3\u7801)\uff0c\u6b64\u5b57\u7b26\u4e32\u90fd\u4f1a\u88ab\u53d1\u9001\u3002<\/li>\n<li>-h \u663e\u793a\u4f7f\u7528\u65b9\u6cd5\u3002<\/li>\n<li>-d \u4e0d\u663e\u793a\u201dpercentage served within XX [ms] table\u201d\u7684\u6d88\u606f(\u4e3a\u4ee5\u524d\u7684\u7248\u672c\u63d0\u4f9b\u652f\u6301)\u3002<\/li>\n<li>-e \u4ea7\u751f\u4e00\u4e2a\u4ee5\u9017\u53f7\u5206\u9694\u7684(CSV)\u6587\u4ef6\uff0c\u5176\u4e2d\u5305\u542b\u4e86\u5904\u7406\u6bcf\u4e2a\u76f8\u5e94\u767e\u5206\u6bd4\u7684\u8bf7\u6c42\u6240\u9700\u8981(\u4ece1%\u5230100%)\u7684\u76f8\u5e94\u767e\u5206\u6bd4\u7684(\u4ee5\u5fae\u5999\u4e3a\u5355\u4f4d)\u65f6\u95f4\u3002\u7531\u4e8e\u8fd9\u79cd\u683c\u5f0f\u5df2\u7ecf\u201c\u4e8c\u8fdb\u5236\u5316\u201d\uff0c\u6240\u4ee5\u6bd4\u2019gnuplot\u2019\u683c\u5f0f\u66f4\u6709\u7528\u3002<\/li>\n<li>-g\u628a\u6240\u6709\u6d4b\u8bd5\u7ed3\u679c\u5199\u5165\u4e00\u4e2a\u2019gnuplot\u2019\u6216\u8005TSV(\u4ee5Tab\u5206\u9694\u7684)\u6587\u4ef6\u3002\u6b64\u6587\u4ef6\u53ef\u4ee5\u65b9\u4fbf\u5730\u5bfc\u5165\u5230Gnuplot,IDL,Mathematica,Igor\u751a\u81f3Excel\u4e2d\u3002\u5176\u4e2d\u7684\u7b2c\u4e00\u884c\u4e3a\u6807\u9898\u3002<\/li>\n<li>-i \u6267\u884cHEAD\u8bf7\u6c42\uff0c\u800c\u4e0d\u662fGET\u3002<\/li>\n<li>-k \u542f\u7528HTTP KeepAlive\u529f\u80fd\uff0c\u5373\u5728\u4e00\u4e2aHTTP\u4f1a\u8bdd\u4e2d\u6267\u884c\u591a\u4e2a\u8bf7\u6c42\u3002\u9ed8\u8ba4\u65f6\uff0c\u4e0d\u542f\u7528KeepAlive\u529f\u80fd\u3002<\/li>\n<li>-q \u5982\u679c\u5904\u7406\u7684\u8bf7\u6c42\u6570\u5927\u4e8e150\uff0cab\u6bcf\u5904\u7406\u5927\u7ea610%\u6216\u8005100\u4e2a\u8bf7\u6c42\u65f6\uff0c\u4f1a\u5728stderr\u8f93\u51fa\u4e00\u4e2a\u8fdb\u5ea6\u8ba1\u6570\u3002\u6b64-q\u6807\u8bb0\u53ef\u4ee5\u6291\u5236\u8fd9\u4e9b\u4fe1\u606f\u3002<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><strong>\u5b8c\u6574\u7684\u5e2e\u52a9\u6587\u6863<\/strong>\uff08\u82f1\u6587\uff09<\/p>\n<div>\n<div id=\"highlighter_579199\" class=\"syntaxhighlighter bash\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<div class=\"line number8 index7 alt1\">8<\/div>\n<div class=\"line number9 index8 alt2\">9<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<div class=\"line number12 index11 alt1\">12<\/div>\n<div class=\"line number13 index12 alt2\">13<\/div>\n<div class=\"line number14 index13 alt1\">14<\/div>\n<div class=\"line number15 index14 alt2\">15<\/div>\n<div class=\"line number16 index15 alt1\">16<\/div>\n<div class=\"line number17 index16 alt2\">17<\/div>\n<div class=\"line number18 index17 alt1\">18<\/div>\n<div class=\"line number19 index18 alt2\">19<\/div>\n<div class=\"line number20 index19 alt1\">20<\/div>\n<div class=\"line number21 index20 alt2\">21<\/div>\n<div class=\"line number22 index21 alt1\">22<\/div>\n<div class=\"line number23 index22 alt2\">23<\/div>\n<div class=\"line number24 index23 alt1\">24<\/div>\n<div class=\"line number25 index24 alt2\">25<\/div>\n<div class=\"line number26 index25 alt1\">26<\/div>\n<div class=\"line number27 index26 alt2\">27<\/div>\n<div class=\"line number28 index27 alt1\">28<\/div>\n<div class=\"line number29 index28 alt2\">29<\/div>\n<div class=\"line number30 index29 alt1\">30<\/div>\n<div class=\"line number31 index30 alt2\">31<\/div>\n<div class=\"line number32 index31 alt1\">32<\/div>\n<div class=\"line number33 index32 alt2\">33<\/div>\n<div class=\"line number34 index33 alt1\">34<\/div>\n<div class=\"line number35 index34 alt2\">35<\/div>\n<div class=\"line number36 index35 alt1\">36<\/div>\n<div class=\"line number37 index36 alt2\">37<\/div>\n<div class=\"line number38 index37 alt1\">38<\/div>\n<div class=\"line number39 index38 alt2\">39<\/div>\n<div class=\"line number40 index39 alt1\">40<\/div>\n<div class=\"line number41 index40 alt2\">41<\/div>\n<div class=\"line number42 index41 alt1\">42<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"bash plain\">[root@mimvp-bj script]<\/code><code class=\"bash comments\"># ab -h<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"bash plain\">Usage: ab [options] [http[s]:<\/code><code class=\"bash plain\">\/\/<\/code><code class=\"bash plain\">]<\/code><code class=\"bash functions\">hostname<\/code><code class=\"bash plain\">[:port]<\/code><code class=\"bash plain\">\/path<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"bash plain\">Options are:<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">-n requests\u00a0\u00a0\u00a0\u00a0 Number of requests to perform<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">-c concurrency\u00a0 Number of multiple requests to <\/code><code class=\"bash functions\">make<\/code> <code class=\"bash plain\">at a <\/code><code class=\"bash functions\">time<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">-t timelimit\u00a0\u00a0\u00a0 Seconds to max. to spend on benchmarking<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">This implies -n 50000<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">-s timeout\u00a0\u00a0\u00a0\u00a0\u00a0 Seconds to max. wait <\/code><code class=\"bash keyword\">for<\/code> <code class=\"bash plain\">each response<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">Default is 30 seconds<\/code><\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">-b windowsize\u00a0\u00a0 Size of TCP send<\/code><code class=\"bash plain\">\/receive<\/code> <code class=\"bash plain\">buffer, <\/code><code class=\"bash keyword\">in<\/code> <code class=\"bash plain\">bytes<\/code><\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">-B address\u00a0\u00a0\u00a0\u00a0\u00a0 Address to bind to when making outgoing connections<\/code><\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">-p postfile\u00a0\u00a0\u00a0\u00a0 File containing data to POST. Remember also to <\/code><code class=\"bash functions\">set<\/code> <code class=\"bash plain\">-T<\/code><\/div>\n<div class=\"line number13 index12 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">-u putfile\u00a0\u00a0\u00a0\u00a0\u00a0 File containing data to PUT. Remember also to <\/code><code class=\"bash functions\">set<\/code> <code class=\"bash plain\">-T<\/code><\/div>\n<div class=\"line number14 index13 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">-T content-<\/code><code class=\"bash functions\">type<\/code> <code class=\"bash plain\">Content-<\/code><code class=\"bash functions\">type<\/code> <code class=\"bash plain\">header to use <\/code><code class=\"bash keyword\">for<\/code> <code class=\"bash plain\">POST<\/code><code class=\"bash plain\">\/PUT<\/code> <code class=\"bash plain\">data, eg.<\/code><\/div>\n<div class=\"line number15 index14 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash string\">'application\/x-www-form-urlencoded'<\/code><\/div>\n<div class=\"line number16 index15 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">Default is <\/code><code class=\"bash string\">'text\/plain'<\/code><\/div>\n<div class=\"line number17 index16 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">-<\/code><code class=\"bash functions\">v<\/code> <code class=\"bash plain\">verbosity\u00a0\u00a0\u00a0 How much troubleshooting info to print<\/code><\/div>\n<div class=\"line number18 index17 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">-w\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Print out results <\/code><code class=\"bash keyword\">in<\/code> <code class=\"bash plain\">HTML tables<\/code><\/div>\n<div class=\"line number19 index18 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">-i\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Use HEAD instead of GET<\/code><\/div>\n<div class=\"line number20 index19 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">-x attributes\u00a0\u00a0 String to insert as table attributes<\/code><\/div>\n<div class=\"line number21 index20 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">-y attributes\u00a0\u00a0 String to insert as <\/code><code class=\"bash functions\">tr<\/code> <code class=\"bash plain\">attributes<\/code><\/div>\n<div class=\"line number22 index21 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">-z attributes\u00a0\u00a0 String to insert as td or th attributes<\/code><\/div>\n<div class=\"line number23 index22 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">-C attribute\u00a0\u00a0\u00a0 Add cookie, eg. <\/code><code class=\"bash string\">'Apache=1234'<\/code><code class=\"bash plain\">. (repeatable)<\/code><\/div>\n<div class=\"line number24 index23 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">-H attribute\u00a0\u00a0\u00a0 Add Arbitrary header line, eg. <\/code><code class=\"bash string\">'Accept-Encoding: gzip'<\/code><\/div>\n<div class=\"line number25 index24 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">Inserted after all normal header lines. (repeatable)<\/code><\/div>\n<div class=\"line number26 index25 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">-A attribute\u00a0\u00a0\u00a0 Add Basic WWW Authentication, the attributes<\/code><\/div>\n<div class=\"line number27 index26 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">are a colon separated username and password.<\/code><\/div>\n<div class=\"line number28 index27 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">-P attribute\u00a0\u00a0\u00a0 Add Basic Proxy Authentication, the attributes<\/code><\/div>\n<div class=\"line number29 index28 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">are a colon separated username and password.<\/code><\/div>\n<div class=\"line number30 index29 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">-X proxy:port\u00a0\u00a0 Proxyserver and port number to use<\/code><\/div>\n<div class=\"line number31 index30 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">-V\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Print version number and <\/code><code class=\"bash functions\">exit<\/code><\/div>\n<div class=\"line number32 index31 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">-k\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Use HTTP KeepAlive feature<\/code><\/div>\n<div class=\"line number33 index32 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">-d\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Do not show percentiles served table.<\/code><\/div>\n<div class=\"line number34 index33 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">-S\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Do not show confidence estimators and warnings.<\/code><\/div>\n<div class=\"line number35 index34 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">-q\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Do not show progress when doing <\/code><code class=\"bash functions\">more<\/code> <code class=\"bash plain\">than 150 requests<\/code><\/div>\n<div class=\"line number36 index35 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">-g filename\u00a0\u00a0\u00a0\u00a0 Output collected data to gnuplot <\/code><code class=\"bash functions\">format<\/code> <code class=\"bash functions\">file<\/code><code class=\"bash plain\">.<\/code><\/div>\n<div class=\"line number37 index36 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">-e filename\u00a0\u00a0\u00a0\u00a0 Output CSV <\/code><code class=\"bash functions\">file<\/code> <code class=\"bash plain\">with percentages served<\/code><\/div>\n<div class=\"line number38 index37 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">-r\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Don't <\/code><code class=\"bash functions\">exit<\/code> <code class=\"bash plain\">on socket receive errors.<\/code><\/div>\n<div class=\"line number39 index38 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">-h\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Display usage information (this message)<\/code><\/div>\n<div class=\"line number40 index39 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">-Z ciphersuite\u00a0 Specify SSL<\/code><code class=\"bash plain\">\/TLS<\/code> <code class=\"bash plain\">cipher suite (See openssl ciphers)<\/code><\/div>\n<div class=\"line number41 index40 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">-f protocol\u00a0\u00a0\u00a0\u00a0 Specify SSL<\/code><code class=\"bash plain\">\/TLS<\/code> <code class=\"bash plain\">protocol<\/code><\/div>\n<div class=\"line number42 index41 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">(SSL3, TLS1, TLS1.1, TLS1.2 or ALL)<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<p><strong>POST\u00a0\u8bf7\u6c42<\/strong><\/p>\n<p><code>###\u00a0post data \u6587\u4ef6 user_login \u5185\u5bb9\uff1a {\"email\":\"iloveyou@mimvp.com\",\"password\":\"mimvp.com\"}<\/code><\/p>\n<p><code>ab -n 100 -kc 10 -p user_login -T 'application\/json' -H 'Accept-Encoding:gzip, deflate' -H 'accept-language:zh-Hans-CN;q=1, en-CN;q=0.9' https:\/\/mimvp.com\/usercenter\/login <\/code><\/p>\n<p>\u53c2\u6570\u8bf4\u660e\uff1a<\/p>\n<p><code>-n 100<\/code>\u00a0 \u8868\u793a\u8bf7\u6c42100\u6b21<\/p>\n<p><code>-kc 10<\/code>\u00a0 \u8868\u793a\u4fdd\u6301\u00a0HTTP KeepAlive\u00a0\u4e00\u6b21\u5e76\u53d110\u4e2a\u8bf7\u6c42<\/p>\n<p><code>-p user_login<\/code>\u00a0\u8868\u793aPOST\u8bf7\u6c42\u7684\u6587\u4ef6\uff0cjson\u6570\u636e\u683c\u5f0f\uff0c\u5982\u4e0a\u00a0<code>{\"email\":\"iloveyou@mimvp.com\",\"password\":\"mimvp.com\"}<\/code><\/p>\n<p><code>-T 'application\/json'<\/code>\u00a0 POST\u6570\u636e\u6240\u4f7f\u7528\u7684Content-type\u5934\u4fe1\u606f<\/p>\n<p><code>-H 'Accept-Encoding:gzip, deflate'<\/code>\u00a0 \u8868\u793a\u8bf7\u6c42\u9644\u52a0\u989d\u5916\u7684\u5934\u4fe1\u606f\uff0c\u7f51\u9875\u538b\u7f29\u7b97\u6cd5<\/p>\n<p><code>-H 'accept-language:zh-Hans-CN;q=1, en-CN;q=0.9'<\/code>\u00a0 \u8868\u793a\u8bf7\u6c42\u9644\u52a0\u989d\u5916\u7684\u5934\u4fe1\u606f\uff0c\u7f51\u9875\u7f16\u7801<\/p>\n<p><code>https:\/\/mimvp.com\/usercenter\/login<\/code>\u00a0 \u8868\u793a\u8bf7\u6c42\u7684\u7f51\u5740\uff0c\u5982\u7c73\u6251\u79d1\u6280\u4e3b\u9875<\/p>\n<p>&nbsp;<\/p>\n<p><strong>GET \u8bf7\u6c42<\/strong><\/p>\n<p><code>ab -n 1000 -c 100 https:\/\/mimvp.com\/ <\/code><\/p>\n<p>\u8fd0\u884c\u7ed3\u679c\u5982\u4e0b\uff1a<\/p>\n<p>Completed 1000 requests<br \/>\nFinished 1000 requests<\/p>\n<p>Server Software: \u00a0 \u00a0 \u00a0 \u00a0nginx<br \/>\nServer Hostname: \u00a0 \u00a0 \u00a0\u00a0\u00a0mimvp.com<br \/>\nServer Port: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0443<br \/>\nSSL\/TLS Protocol: \u00a0 \u00a0 \u00a0 TLSv1.2,ECDHE-RSA-AES128-GCM-SHA256,2048,128<\/p>\n<p>Document Path: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/<br \/>\nDocument Length: \u00a0 \u00a0 \u00a0 \u00a016740 bytes\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ \u9875\u9762\u5927\u5c0f<\/p>\n<p>Concurrency Level: \u00a0 \u00a0 \u00a0100\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ \u5e76\u53d1\u6570<br \/>\nTime taken for tests: \u00a0 295.766 seconds\u00a0 \u00a0\u00a0\/\/ \u603b\u8017\u65f6<br \/>\nComplete requests: \u00a0 \u00a0 \u00a01000\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0\u00a0\/\/ \u8bf7\u6c42\u6570<br \/>\nFailed requests: \u00a0 \u00a0 \u00a0 \u00a0141\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ \u5931\u8d25\u8bf7\u6c42\u6570\uff0c\u4e3b\u8981\u662fSSL\u8fde\u63a5\u5931\u8d25\uff0c\u5927\u90fd\u662fSSL\u8bc1\u4e66\u6388\u6743\u5931\u8d25<br \/>\n(Connect: 0, Receive: 0, Length: 141, Exceptions: 0)<br \/>\nWrite errors: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 0<br \/>\nNon-2xx responses: \u00a0 \u00a0 \u00a08<br \/>\nTotal transferred: \u00a0 \u00a0 \u00a014750512 bytes\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/\u00a0\u603b\u5171\u4f20\u8f93\u5b57\u8282\u6570\uff0c\u5305\u542bhttp\u7684\u5934\u4fe1\u606f\u7b49<br \/>\nHTML transferred: \u00a0 \u00a0 \u00a0 14550084 bytes\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/\u00a0html\u5b57\u8282\u6570\uff0c\u5b9e\u9645\u7684\u9875\u9762\u4f20\u9012\u5b57\u8282\u6570<br \/>\nRequests per second: \u00a0 \u00a03.38 [#\/sec] (mean)\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ \u6bcf\u79d2\u591a\u5c11\u8bf7\u6c42\uff0c\u975e\u5e38\u91cd\u8981\u7684\u53c2\u6570\uff0c\u8868\u793a\u670d\u52a1\u5668\u7684\u541e\u5410\u91cf\uff0c\u5373\u5e76\u53d1\u7684\u6bcf\u4e00\u4e2a\u8bf7\u6c42\u8017\u65f6\u7684\u5012\u6570<br \/>\nTime per request: \u00a0 \u00a0 \u00a0\u00a029576.594 [ms] (mean)\u00a0 \u00a0 \u00a0\/\/ \u6bcf\u6b21\u8bf7\u6c42\u8017\u65f6\uff0c\u56e0\u4e3a\u4e00\u6b21\u8bf7\u6c42\u5e76\u53d1100\u4e2a\uff0c\u56e0\u6b64\u6bcf\u4e2a\u5e76\u53d1\u8017\u65f6\u9700\u9664\u4ee5100<br \/>\nTime per request: \u00a0 \u00a0 \u00a0\u00a0295.766 [ms] (mean, across all concurrent requests)\u00a0 \u00a0\u00a0\u00a0\/\/ \u5e76\u53d1\u7684\u6bcf\u4e00\u4e2a\u8bf7\u6c42\u8017\u65f6<br \/>\nTransfer rate: \u00a0 \u00a0 \u00a0 \u00a0 \u00a048.70 [Kbytes\/sec] received\u00a0 \u00a0 \u00a0\u00a0\u00a0\/\/\u00a0\u6bcf\u79d2\u83b7\u53d6\u7684\u6570\u636e\u957f\u5ea6<\/p>\n<p>Connection Times (ms)<br \/>\nmin \u00a0mean[+\/-sd] median \u00a0 max<br \/>\nConnect: \u00a0 \u00a0 \u00a0 \u00a00 \u00a0720 894.8 \u00a0 \u00a0434 \u00a0 \u00a04550<br \/>\nProcessing: \u00a0 \u00a012 21135 19444.4 \u00a013948 \u00a0130109<br \/>\nWaiting: \u00a0 \u00a0 \u00a0 \u00a00 21325 19781.2 \u00a014559 \u00a0130109<br \/>\nTotal: \u00a0 \u00a0 \u00a0 \u00a0 28 21855 19515.1 \u00a014579 \u00a0130547<\/p>\n<p>Percentage of the requests served within a certain time (ms)<br \/>\n50% \u00a014579\u00a0 \u00a0 \u00a0 \u00a0 \u00a0## 50%\u7684\u8bf7\u6c42\u5728\u00a014579ms \u5185\u8fd4\u56de<br \/>\n66% \u00a021043\u00a0 \u00a0 \u00a0 \u00a0 \u00a0## 66%\u7684\u8bf7\u6c42\u5728\u00a021043ms \u5185\u8fd4\u56de<br \/>\n75% \u00a026262<br \/>\n80% \u00a030834<br \/>\n90% \u00a052050<br \/>\n95% \u00a065124<br \/>\n98% \u00a079861<br \/>\n99% \u00a089688<br \/>\n100% \u00a0130547 (longest request)<\/p>\n<p><a href=\"https:\/\/blog.mimvp.com\/wp-content\/uploads\/2018\/01\/mimvp-201709-06.png\" data-fancybox=\"gallery\" rel=\"nofollow\" ><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-20651\" data-original=\"https:\/\/blog.mimvp.com\/wp-content\/uploads\/2018\/01\/mimvp-201709-06.png\" src=\"https:\/\/byy3.com\/wp-content\/themes\/MNews%20V2.4\/images\/post-loading.gif\" sizes=\"auto, (max-width: 704px) 100vw, 704px\" srcset=\"https:\/\/blog.mimvp.com\/wp-content\/uploads\/2018\/01\/mimvp-201709-06.png 704w, https:\/\/blog.mimvp.com\/wp-content\/uploads\/2018\/01\/mimvp-201709-06-419x450.png 419w, https:\/\/blog.mimvp.com\/wp-content\/uploads\/2018\/01\/mimvp-201709-06-652x700.png 652w\" width=\"704\" height=\"755\" title=\"Linux \u4e0b\u7684Web\u7f51\u9875\u6027\u80fd\u538b\u6d4b\u5de5\u5177\uff1a\u00a0ApacheBench\u00a0\u548c\u00a0WebBench \u53d8\u76f8\u7248ddos\u653b\u51fb\u63d2\u56fe\" alt=\"Linux \u4e0b\u7684Web\u7f51\u9875\u6027\u80fd\u538b\u6d4b\u5de5\u5177\uff1a\u00a0ApacheBench\u00a0\u548c\u00a0WebBench \u53d8\u76f8\u7248ddos\u653b\u51fb\u63d2\u56fe\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>\u6d4b\u8bd5\u65f6\uff0c\u53ef\u4ee5\u5728\u88ab\u6d4b\u8bd5\u7684\u670d\u52a1\u5668\u4e0a\uff0c\u4f7f\u7528<code>htop<\/code>\u547d\u4ee4\u67e5\u770bCPU\u548c\u5185\u5b58\u7684\u5b9e\u65f6\u4f7f\u7528\u60c5\u51b5\uff1a<\/p>\n<p>htop \u5b89\u88c5 \uff1a\u00a0sudo yum -y install htop<\/p>\n<p><a href=\"https:\/\/blog.mimvp.com\/wp-content\/uploads\/2018\/01\/mimvp-tech-web-wang-ye-xing-neng-ya-ce-gong-ju-01.png\" data-fancybox=\"gallery\" rel=\"nofollow\" ><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-20637\" data-original=\"https:\/\/blog.mimvp.com\/wp-content\/uploads\/2018\/01\/mimvp-tech-web-wang-ye-xing-neng-ya-ce-gong-ju-01.png\" src=\"https:\/\/byy3.com\/wp-content\/themes\/MNews%20V2.4\/images\/post-loading.gif\" sizes=\"auto, (max-width: 1003px) 100vw, 1003px\" srcset=\"https:\/\/blog.mimvp.com\/wp-content\/uploads\/2018\/01\/mimvp-tech-web-wang-ye-xing-neng-ya-ce-gong-ju-01.png 1003w, https:\/\/blog.mimvp.com\/wp-content\/uploads\/2018\/01\/mimvp-tech-web-wang-ye-xing-neng-ya-ce-gong-ju-01-450x135.png 450w, https:\/\/blog.mimvp.com\/wp-content\/uploads\/2018\/01\/mimvp-tech-web-wang-ye-xing-neng-ya-ce-gong-ju-01-700x210.png 700w\" width=\"1003\" height=\"302\" title=\"Linux \u4e0b\u7684Web\u7f51\u9875\u6027\u80fd\u538b\u6d4b\u5de5\u5177\uff1a\u00a0ApacheBench\u00a0\u548c\u00a0WebBench \u53d8\u76f8\u7248ddos\u653b\u51fb\u63d2\u56fe1\" alt=\"Linux \u4e0b\u7684Web\u7f51\u9875\u6027\u80fd\u538b\u6d4b\u5de5\u5177\uff1a\u00a0ApacheBench\u00a0\u548c\u00a0WebBench \u53d8\u76f8\u7248ddos\u653b\u51fb\u63d2\u56fe1\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><strong>2. WebBench<\/strong><\/p>\n<p><span>WebBench \u6700\u591a\u53ef\u4ee5\u6a21\u62df3\u4e07\u4e2a\u5e76\u53d1\u8fde\u63a5\uff0c\u53bb\u6d4b\u8bd5\u7f51\u7ad9\u7684\u8d1f\u8f7d\u80fd\u529b<\/span><\/p>\n<p><span>\u7c73\u6251\u8ba4\u4e3a\uff0cWebBench\u6bd4Apache\u81ea\u5e26\u7684ab\u538b\u529b\u6d4b\u8bd5\u5de5\u5177\u597d\uff0c\u5b89\u88c5\u4e5f\u65b9\u4fbf\u3002<\/span><\/p>\n<p>Web Bench is very simple tool for benchmarking WWW or proxy servers. Uses fork() for simulating multiple clients and can use\u00a0HTTP\/0.9-HTTP\/1.1\u00a0requests. This benchmark is not very realistic, but it can test if your HTTPD can realy handle that many clients at once (try to run some CGIs) without taking your machine down. Displays pages\/min and bytes\/sec. Can be used in more aggressive mode with -f switch.<\/p>\n<p><span>WebBench \u5b98\u7f51\uff1a<a href=\"https:\/\/byy3.com\/go\/?url=http:\/\/home.tiscali.cz\/~cz210552\/webbench.html\" target=\"_blank\" rel=\"noopener noreferrer\" rel=\"nofollow\" >http:\/\/home.tiscali.cz\/~cz210552\/webbench.html<\/a><\/span><\/p>\n<p>&nbsp;<\/p>\n<p><strong>1\uff09\u51c6\u5907\u5de5\u4f5c<\/strong><\/p>\n<p>yum -y install ctags wget make apr* autoconf automake gcc gcc-c++<\/p>\n<p>&nbsp;<\/p>\n<p><strong>2\uff09<span>WebBench\u00a0<\/span>\u4e0b\u8f7d\u5b89\u88c5<\/strong><\/p>\n<p>wget\u00a0http:\/\/home.tiscali.cz\/~cz210552\/distfiles\/webbench-1.5.tar.gz<\/p>\n<p>tar zxvf webbench-1.5.tar.gz<br \/>\ncd webbench-1.5<br \/>\nmake &amp;&amp; make install<\/p>\n<p>&nbsp;<\/p>\n<p><strong>3\uff09\u00a0<span>WebBench\u00a0<\/span>\u53c2\u6570\u542b\u4e49<\/strong><\/p>\n<p>[root@mimvp-bj script]# webbench -h<br \/>\nwebbench [option]... URL<br \/>\n-f |--force \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Don't wait for reply from server.<br \/>\n-r |--reload \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0Send reload request - Pragma: no-cache.<br \/>\n-t\u00a0|--time &lt;sec&gt; \u00a0 \u00a0 \u00a0 \u00a0 \u00a0Run benchmark for &lt;sec&gt; seconds. Default 30.<br \/>\n-p |--proxy &lt;server:port&gt; Use proxy server for request.<br \/>\n-c\u00a0|--clients &lt;n&gt; \u00a0 \u00a0 \u00a0 \u00a0 Run &lt;n&gt; HTTP clients at once. Default one.<br \/>\n-9 |--http09 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0Use HTTP\/0.9 style requests.<br \/>\n-1 |--http10 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0Use HTTP\/1.0 protocol.<br \/>\n-2\u00a0|--http11 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0Use HTTP\/1.1 protocol.<br \/>\n--get \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0Use GET request method.<br \/>\n--head \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Use HEAD request method.<br \/>\n--options \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0Use OPTIONS request method.<br \/>\n--trace \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0Use TRACE request method.<br \/>\n-? |-h|--help \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 This information.<br \/>\n-V |--version \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Display program version.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>4\uff09<span>WebBench\u00a0<\/span>\u538b\u6d4b\u793a\u4f8b<\/strong><\/p>\n<p>[root@mimvp-bj script]#\u00a0webbench -c 500 -t 30 http:\/\/mimvp.com\/<br \/>\nWebbench - Simple Web Benchmark 1.5<br \/>\nCopyright (c) Radim Kolar 1997-2004, GPL Open Source Software.<\/p>\n<p>Benchmarking: GET http:\/\/mimvp.com\/<br \/>\n500 clients, running 30 sec.<\/p>\n<p>Speed=12348 pages\/min, 73882 bytes\/sec.<br \/>\nRequests: 6174 susceed, 0 failed.<\/p>\n<p><a href=\"https:\/\/blog.mimvp.com\/wp-content\/uploads\/2018\/01\/mimvp-201709-07.png\" data-fancybox=\"gallery\" rel=\"nofollow\" ><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-20652\" data-original=\"https:\/\/blog.mimvp.com\/wp-content\/uploads\/2018\/01\/mimvp-201709-07.png\" src=\"https:\/\/byy3.com\/wp-content\/themes\/MNews%20V2.4\/images\/post-loading.gif\" sizes=\"auto, (max-width: 774px) 100vw, 774px\" srcset=\"https:\/\/blog.mimvp.com\/wp-content\/uploads\/2018\/01\/mimvp-201709-07.png 774w, https:\/\/blog.mimvp.com\/wp-content\/uploads\/2018\/01\/mimvp-201709-07-450x270.png 450w, https:\/\/blog.mimvp.com\/wp-content\/uploads\/2018\/01\/mimvp-201709-07-700x421.png 700w\" width=\"774\" height=\"466\" title=\"Linux \u4e0b\u7684Web\u7f51\u9875\u6027\u80fd\u538b\u6d4b\u5de5\u5177\uff1a\u00a0ApacheBench\u00a0\u548c\u00a0WebBench \u53d8\u76f8\u7248ddos\u653b\u51fb\u63d2\u56fe2\" alt=\"Linux \u4e0b\u7684Web\u7f51\u9875\u6027\u80fd\u538b\u6d4b\u5de5\u5177\uff1a\u00a0ApacheBench\u00a0\u548c\u00a0WebBench \u53d8\u76f8\u7248ddos\u653b\u51fb\u63d2\u56fe2\" \/><\/a><\/p>\n<p><strong>\u53c2\u6570\u8bf4\u660e\uff1a<\/strong><\/p>\n<p>-c 500\u00a0 \u8868\u793a\u540c\u65f6\u4ea7\u751f500\u4e2a\u5e76\u53d1\u8fde\u63a5<\/p>\n<p>-t 30\u00a0 \u8868\u793a\u8bf7\u6c42\u6301\u7eed\u65f6\u95f4<\/p>\n<p>&nbsp;<\/p>\n<p>\u8ba1\u7b97\u6bcf\u6b21\u8bf7\u6c42\u8017\u65f6\uff1a<\/p>\n<p>Seconds \/ Requests = 30 \/ 6174 = 4.86 ms\/\u6b21<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><strong>nginx \u652f\u6301 http2<\/strong><\/p>\n<p>\u53c2\u89c1\u00a0<a href=\"https:\/\/byy3.com\/go\/?url=http:\/\/nginx.org\/en\/docs\/http\/ngx_http_v2_module.html\" target=\"_blank\" rel=\"noopener noreferrer\" rel=\"nofollow\" >Module ngx_http_v2_module<\/a>\uff0c\u9700\u8981\u52a0\u4e0a\u7f16\u8bd1\u53c2\u6570 --with-http_v2_module<\/p>\n<p>\u7c73\u6251\u79d1\u6280\u642d\u5efa\u7684\u4e91\u670d\u52a1\u5668\u7f16\u8bd1\u547d\u4ee4\u5982\u4e0b\uff1a<\/p>\n<p>.\/configure --user=www --group=www --prefix=\/usr\/local\/nginx --with-http_stub_status_module --with-http_ssl_module\u00a0--with-http_v2_module<\/p>\n<p>http2\u9700\u8981\u6d4f\u89c8\u5668\u914d\u5408\uff0cChrome\u548cFirefox\u6d4f\u89c8\u5668\u90fd\u5df2\u7ecf\u57282015\u5e74\u5c31\u652f\u6301\u4e86http2\uff0chttp2\u7ed9https\u52a0\u901f\u4e0d\u5c11\u3002<\/p>\n<p>\u4f8b\u5982\uff0c\u7c73\u6251\u79d1\u6280\u7684\u57df\u540d\uff1a<a href=\"https:\/\/byy3.com\/go\/?url=https:\/\/mimvp.com\/\" target=\"_blank\" rel=\"noopener noreferrer\" rel=\"nofollow\" >https:\/\/mimvp.com<\/a>\u00a0\u00a0 \u6216 \u00a0\u7c73\u96c6\u8d22\u5bcc\uff1a\u00a0<a href=\"https:\/\/byy3.com\/go\/?url=https:\/\/mimji.com\/\" target=\"_blank\" rel=\"noopener noreferrer\" rel=\"nofollow\" >https:\/\/mimji.com<\/a><\/p>\n<p><strong>1\uff09FireFox \u706b\u72d0\u6d4f\u89c8\u5668\u67e5\u770b<\/strong><\/p>\n<p>\u6d4f\u89c8\u5668\u6253\u5f00\u7c73\u6251\u79d1\u6280\u9996\u9875\u00a0<a href=\"https:\/\/byy3.com\/go\/?url=https:\/\/mimvp.com\/\" target=\"_blank\" rel=\"noopener noreferrer\" rel=\"nofollow\" >https:\/\/mimvp.com<\/a>\u00a0\u2014&gt; F12 \u5f00\u53d1\u8005\u5de5\u5177\u00a0\u00a0\u2014&gt; \u00a0\u7f51\u7edc \u00a0\u00a0\u2014&gt; \u6d88\u606f\u5934\uff0c\u5982\u4e0b\u56fe<\/p>\n<p><a href=\"https:\/\/blog.mimvp.com\/wp-content\/uploads\/2018\/01\/let-s-encrypt-jia-mi-ssl-zheng-shu-bing-qiang-zhi-qi-yong-https-fang-wen-31.png\" data-fancybox=\"gallery\" rel=\"nofollow\" ><img loading=\"lazy\" decoding=\"async\" data-original=\"https:\/\/blog.mimvp.com\/wp-content\/uploads\/2018\/01\/let-s-encrypt-jia-mi-ssl-zheng-shu-bing-qiang-zhi-qi-yong-https-fang-wen-31.png\" src=\"https:\/\/byy3.com\/wp-content\/themes\/MNews%20V2.4\/images\/post-loading.gif\" width=\"780\" height=\"586\" title=\"Linux \u4e0b\u7684Web\u7f51\u9875\u6027\u80fd\u538b\u6d4b\u5de5\u5177\uff1a\u00a0ApacheBench\u00a0\u548c\u00a0WebBench \u53d8\u76f8\u7248ddos\u653b\u51fb\u63d2\u56fe3\" alt=\"Linux \u4e0b\u7684Web\u7f51\u9875\u6027\u80fd\u538b\u6d4b\u5de5\u5177\uff1a\u00a0ApacheBench\u00a0\u548c\u00a0WebBench \u53d8\u76f8\u7248ddos\u653b\u51fb\u63d2\u56fe3\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>2\uff09Chrome<strong>\u00a0\u8c37\u6b4c\u6d4f\u89c8\u5668\u67e5\u770b<\/strong><\/p>\n<p>\u6253\u5f00\u94fe\u63a5\uff1a<a href=\"https:\/\/byy3.com\/go\/?url=http:\/\/chrome\/\/net-internals\/#http2\" target=\"_blank\" rel=\"noopener noreferrer\" rel=\"nofollow\" >chrome:\/\/net-internals\/#http2<\/a><\/p>\n<p><a href=\"https:\/\/blog.mimvp.com\/wp-content\/uploads\/2018\/01\/let-s-encrypt-jia-mi-ssl-zheng-shu-bing-qiang-zhi-qi-yong-https-fang-wen-32.png\" data-fancybox=\"gallery\" rel=\"nofollow\" ><img loading=\"lazy\" decoding=\"async\" data-original=\"https:\/\/blog.mimvp.com\/wp-content\/uploads\/2018\/01\/let-s-encrypt-jia-mi-ssl-zheng-shu-bing-qiang-zhi-qi-yong-https-fang-wen-32.png\" src=\"https:\/\/byy3.com\/wp-content\/themes\/MNews%20V2.4\/images\/post-loading.gif\" width=\"714\" height=\"555\" title=\"Linux \u4e0b\u7684Web\u7f51\u9875\u6027\u80fd\u538b\u6d4b\u5de5\u5177\uff1a\u00a0ApacheBench\u00a0\u548c\u00a0WebBench \u53d8\u76f8\u7248ddos\u653b\u51fb\u63d2\u56fe4\" alt=\"Linux \u4e0b\u7684Web\u7f51\u9875\u6027\u80fd\u538b\u6d4b\u5de5\u5177\uff1a\u00a0ApacheBench\u00a0\u548c\u00a0WebBench \u53d8\u76f8\u7248ddos\u653b\u51fb\u63d2\u56fe4\" \/><\/a><\/p>\n<p>\u7ecf\u8fc7\u670d\u52a1\u5668\u786c\u4ef6\u548c\u8f6f\u4ef6\u7684\u5347\u7ea7\uff0c\u7c73\u6251\u79d1\u6280\u53ca\u5176\u4ea7\u54c1\u90fd\u5f00\u542fhttps\u540e\uff0c\u8bbf\u95ee\u901f\u5ea6\u63d0\u9ad8\u5f88\u591a\u3001\u7f51\u9875\u6253\u5f00\u901f\u5ea6\u5f88\u5feb\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Linux \u4e0b\u7684Web\u7f51\u9875\u6027\u80fd\u538b\u6d4b\u5de5\u5177\uff1a\u00a0ApacheBench\u00a0\u548c\u00a0WebBench &nbsp; 1. A [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14,1],"tags":[353],"class_list":["post-562","post","type-post","status-publish","format-standard","hentry","category-linux","category-net-security","tag-linux"],"_links":{"self":[{"href":"https:\/\/byy3.com\/index.php?rest_route=\/wp\/v2\/posts\/562","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/byy3.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/byy3.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/byy3.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/byy3.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=562"}],"version-history":[{"count":0,"href":"https:\/\/byy3.com\/index.php?rest_route=\/wp\/v2\/posts\/562\/revisions"}],"wp:attachment":[{"href":"https:\/\/byy3.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=562"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/byy3.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=562"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/byy3.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=562"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}