{"id":84158,"date":"2026-07-26T08:49:01","date_gmt":"2026-07-26T00:49:01","guid":{"rendered":"https:\/\/www.wsisp.com\/helps\/84158.html"},"modified":"2026-07-26T08:49:01","modified_gmt":"2026-07-26T00:49:01","slug":"%e6%9c%8d%e5%8a%a1%e5%99%a8%e6%b5%81%e9%87%8f%e7%9b%91%e6%8e%a7%e4%b8%8e%e6%80%a7%e8%83%bd%e4%bc%98%e5%8c%96%e5%ae%9e%e6%88%98","status":"publish","type":"post","link":"https:\/\/www.wsisp.com\/helps\/84158.html","title":{"rendered":"\u670d\u52a1\u5668\u6d41\u91cf\u76d1\u63a7\u4e0e\u6027\u80fd\u4f18\u5316\u5b9e\u6218"},"content":{"rendered":"<h2>\u670d\u52a1\u5668\u6d41\u91cf\u76d1\u63a7\u4e0e\u6027\u80fd\u4f18\u5316\u5b9e\u6218\u6307\u5357&#xff1a;\u4ece\u539f\u7406\u5230\u751f\u4ea7\u73af\u5883\u5168\u65b9\u4f4d\u89e3\u6790<\/h2>\n<p>\u57fa\u4e8e\u771f\u5b9e\u751f\u4ea7\u73af\u5883\u7684\u6df1\u5ea6\u6280\u672f\u6587\u6863&#xff0c;\u6db5\u76d6\u6d41\u91cf\u76d1\u6d4b\u3001\u5f02\u5e38\u8bca\u65ad\u3001\u5e26\u5bbd\u4f18\u5316\u3001\u5b89\u5168\u9632\u5fa1\u56db\u5927\u6838\u5fc3\u6a21\u5757<\/p>\n<hr \/>\n<h4>\u6587\u7ae0\u76ee\u5f55<\/h4>\n<ul>\n<li>\u670d\u52a1\u5668\u6d41\u91cf\u76d1\u63a7\u4e0e\u6027\u80fd\u4f18\u5316\u5b9e\u6218\u6307\u5357&#xff1a;\u4ece\u539f\u7406\u5230\u751f\u4ea7\u73af\u5883\u5168\u65b9\u4f4d\u89e3\u6790<\/li>\n<li>\n<ul>\n<li>\u4e00\u3001\u6d41\u91cf\u57fa\u7840\u6982\u5ff5\u8be6\u89e3<\/li>\n<li>\n<ul>\n<li>1.1 \u7f51\u7edc\u6d41\u91cf\u7684\u7269\u7406\u672c\u8d28<\/li>\n<li>1.2 \u6d41\u91cf\u8ba1\u91cf\u5355\u4f4d\u6df1\u5ea6\u89e3\u6790<\/li>\n<li>\n<ul>\n<li>1.2.1 \u5b58\u50a8\u5355\u4f4d vs \u4f20\u8f93\u5355\u4f4d<\/li>\n<li>1.2.2 \u4e91\u670d\u52a1\u5668\u5e26\u5bbd\u89c4\u683c\u5bf9\u7167\u8868<\/li>\n<\/ul>\n<\/li>\n<li>1.3 \u4e0a\u884c\u6d41\u91cf\u4e0e\u4e0b\u884c\u6d41\u91cf\u7684\u4e1a\u52a1\u542b\u4e49<\/li>\n<li>\n<ul>\n<li>1.3.1 \u4e0d\u540c\u4e1a\u52a1\u7c7b\u578b\u7684\u6d41\u91cf\u7279\u5f81<\/li>\n<li>1.3.2 \u751f\u4ea7\u73af\u5883\u6570\u636e\u5206\u6790<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>\u4e8c\u3001Linux \u6d41\u91cf\u76d1\u6d4b\u6280\u672f\u6808<\/li>\n<li>\n<ul>\n<li>2.1 \u5185\u6838\u7ea7\u76d1\u6d4b&#xff1a;\/proc \u6587\u4ef6\u7cfb\u7edf<\/li>\n<li>\n<ul>\n<li>2.1.1 \/proc\/net\/dev \u6df1\u5ea6\u89e3\u6790<\/li>\n<li>2.1.2 \/sys\/class\/net \u5b9e\u65f6\u7edf\u8ba1<\/li>\n<\/ul>\n<\/li>\n<li>2.2 \u7cfb\u7edf\u7ea7\u76d1\u6d4b&#xff1a;sar \u547d\u4ee4&#xff08;sysstat \u5305&#xff09;<\/li>\n<li>\n<ul>\n<li>2.2.1 \u5b89\u88c5\u4e0e\u914d\u7f6e<\/li>\n<li>2.2.2 \u5e38\u7528\u547d\u4ee4\u8be6\u89e3<\/li>\n<li>2.2.3 \u8f93\u51fa\u5b57\u6bb5\u8be6\u89e3<\/li>\n<\/ul>\n<\/li>\n<li>2.3 \u5e94\u7528\u7ea7\u76d1\u6d4b&#xff1a;\u4e13\u4e1a\u6d41\u91cf\u5de5\u5177<\/li>\n<li>\n<ul>\n<li>2.3.1 iftop &#8211; \u5b9e\u65f6\u6d41\u91cf\u6392\u884c<\/li>\n<li>2.3.2 nethogs &#8211; \u6309\u8fdb\u7a0b\u7edf\u8ba1\u6d41\u91cf<\/li>\n<li>2.3.3 vnstat &#8211; \u6d41\u91cf\u5386\u53f2\u8bb0\u5f55<\/li>\n<li>2.3.4 iptraf-ng &#8211; \u7efc\u5408\u7f51\u7edc\u76d1\u63a7<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>\u4e09\u3001\u751f\u4ea7\u73af\u5883\u5b9e\u6218\u6570\u636e\u5206\u6790<\/li>\n<li>\n<ul>\n<li>3.1 \u5f53\u524d\u670d\u52a1\u5668\u6d41\u91cf\u753b\u50cf<\/li>\n<li>\n<ul>\n<li>3.1.1 \u7d2f\u8ba1\u6d41\u91cf\u5206\u6790<\/li>\n<li>3.1.2 \u5b9e\u65f6\u6d41\u91cf\u8d8b\u52bf&#xff08;3 \u79d2\u91c7\u6837&#xff09;<\/li>\n<\/ul>\n<\/li>\n<li>3.2 \u6d41\u91cf\u5065\u5eb7\u5ea6\u8bc4\u4f30<\/li>\n<li>\n<ul>\n<li>3.2.1 \u9519\u8bef\u7387\u5206\u6790<\/li>\n<li>3.2.2 \u5e26\u5bbd\u5229\u7528\u7387\u8bc4\u4f30<\/li>\n<\/ul>\n<\/li>\n<li>3.3 \u4e1a\u52a1\u7c7b\u578b\u63a8\u65ad<\/li>\n<\/ul>\n<\/li>\n<li>\u56db\u3001\u6d41\u91cf\u5f02\u5e38\u8bca\u65ad\u4e0e\u6392\u67e5<\/li>\n<li>\n<ul>\n<li>4.1 \u5e38\u89c1\u6d41\u91cf\u5f02\u5e38\u7c7b\u578b<\/li>\n<li>\n<ul>\n<li>4.1.1 \u5f02\u5e38\u6d41\u91cf\u7279\u5f81\u77e9\u9635<\/li>\n<\/ul>\n<\/li>\n<li>4.2 \u8bca\u65ad\u6d41\u7a0b SOP<\/li>\n<li>4.3 \u5b9e\u6218\u6392\u67e5\u547d\u4ee4\u96c6<\/li>\n<li>\n<ul>\n<li>4.3.1 \u5feb\u901f\u8bca\u65ad\u811a\u672c<\/li>\n<li>4.3.2 \u653b\u51fb\u6d41\u91cf\u8bc6\u522b<\/li>\n<\/ul>\n<\/li>\n<li>4.4 \u5e94\u6025\u54cd\u5e94\u63aa\u65bd<\/li>\n<li>\n<ul>\n<li>4.4.1 \u4e34\u65f6\u5c01\u7981 IP<\/li>\n<li>4.4.2 \u5e26\u5bbd\u9650\u5236<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>\u4e94\u3001\u5e26\u5bbd\u4f18\u5316\u4e0e\u6210\u672c\u63a7\u5236<\/li>\n<li>\n<ul>\n<li>5.1 \u5e26\u5bbd\u4f18\u5316\u6280\u672f\u6808<\/li>\n<li>\n<ul>\n<li>5.1.1 \u5185\u5bb9\u538b\u7f29<\/li>\n<li>5.1.2 \u7f13\u5b58\u7b56\u7565<\/li>\n<li>5.1.3 CDN \u52a0\u901f<\/li>\n<\/ul>\n<\/li>\n<li>5.2 \u4e91\u5382\u5546\u5e26\u5bbd\u8ba1\u8d39\u6a21\u5f0f<\/li>\n<li>\n<ul>\n<li>5.2.1 \u8ba1\u8d39\u65b9\u5f0f\u5bf9\u6bd4<\/li>\n<li>5.2.2 \u6210\u672c\u4f18\u5316\u5efa\u8bae<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>\u516d\u3001\u81ea\u52a8\u5316\u76d1\u63a7\u65b9\u6848\u642d\u5efa<\/li>\n<li>\n<ul>\n<li>6.1 \u57fa\u7840\u76d1\u63a7\u811a\u672c<\/li>\n<li>6.2 \u5b9a\u65f6\u4efb\u52a1\u914d\u7f6e<\/li>\n<li>6.3 Grafana &#043; Prometheus \u76d1\u63a7\u65b9\u6848<\/li>\n<li>\n<ul>\n<li>6.3.1 \u5b89\u88c5 Node Exporter<\/li>\n<li>6.3.2 Prometheus \u914d\u7f6e<\/li>\n<li>6.3.3 Grafana \u4eea\u8868\u76d8<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>\u4e03\u3001\u9644\u5f55&#xff1a;\u547d\u4ee4\u901f\u67e5\u624b\u518c<\/li>\n<li>\n<ul>\n<li>7.1 \u6d41\u91cf\u76d1\u6d4b\u547d\u4ee4\u901f\u67e5<\/li>\n<li>7.2 \u6545\u969c\u6392\u67e5\u547d\u4ee4\u901f\u67e5<\/li>\n<li>7.3 \u65e5\u5fd7\u5206\u6790\u547d\u4ee4\u901f\u67e5<\/li>\n<\/ul>\n<\/li>\n<li>\u603b\u7ed3<\/li>\n<li>\n<ul>\n<li>\u6838\u5fc3\u8981\u70b9\u56de\u987e<\/li>\n<li>\u5efa\u8bae<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h3>\u4e00\u3001\u6d41\u91cf\u57fa\u7840\u6982\u5ff5\u8be6\u89e3<\/h3>\n<h4>1.1 \u7f51\u7edc\u6d41\u91cf\u7684\u7269\u7406\u672c\u8d28<\/h4>\n<p>\u7f51\u7edc\u6d41\u91cf\u672c\u8d28\u4e0a\u662f\u6570\u636e\u5305\u5728\u7f51\u7edc\u4ecb\u8d28\u4e2d\u7684\u4f20\u8f93\u3002\u7406\u89e3\u8fd9\u4e00\u70b9\u9700\u8981\u4ece OSI \u4e03\u5c42\u6a21\u578b\u8bf4\u8d77&#xff1a;<\/p>\n<p>\u5e94\u7528\u5c42 <span class=\"token punctuation\">(<\/span>HTTP\/FTP\/SMTP<span class=\"token punctuation\">)<\/span> \u2192 \u4ea7\u751f\u4e1a\u52a1\u6570\u636e<br \/>\n\u2193<br \/>\n\u4f20\u8f93\u5c42 <span class=\"token punctuation\">(<\/span>TCP\/UDP<span class=\"token punctuation\">)<\/span> \u2192 \u5206\u6bb5\u3001\u7aef\u53e3\u6807\u8bc6<br \/>\n\u2193<br \/>\n\u7f51\u7edc\u5c42 <span class=\"token punctuation\">(<\/span>IP<span class=\"token punctuation\">)<\/span> \u2192 \u8def\u7531\u3001\u5bfb\u5740<br \/>\n\u2193<br \/>\n\u6570\u636e\u94fe\u8def\u5c42 <span class=\"token punctuation\">(<\/span>Ethernet<span class=\"token punctuation\">)<\/span> \u2192 \u5e27\u5c01\u88c5\u3001MAC \u5730\u5740<br \/>\n\u2193<br \/>\n\u7269\u7406\u5c42 <span class=\"token punctuation\">(<\/span>\u7535\u7f06\/\u5149\u7ea4<span class=\"token punctuation\">)<\/span> \u2192 \u6bd4\u7279\u6d41\u4f20\u8f93<\/p>\n<p>\u6bcf\u4e00\u6b21\u7f51\u7edc\u8bf7\u6c42\u7684\u6d41\u91cf\u6784\u6210&#xff1a;<\/p>\n<p>\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u2502 \u5b8c\u6574\u6570\u636e\u5305\u7ed3\u6784 \u2502 \u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 \u2502 \u4ee5\u592a\u7f51\u5934 (14 \u5b57\u8282) \u2502 IP \u5934 (20 \u5b57\u8282) \u2502 TCP \u5934 (20 \u5b57\u8282) \u2502 \u5e94\u7528\u6570\u636e \u2502 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2193 \u534f\u8bae\u5f00\u9500\u7ea6 54 \u5b57\u8282\/\u5305<\/p>\n<p>\u91cd\u8981\u63d0\u793a&#xff1a;\u5b9e\u9645\u4f20\u8f93\u6d41\u91cf &#061; \u5e94\u7528\u6570\u636e &#043; \u534f\u8bae\u5f00\u9500\u3002\u5c0f\u6587\u4ef6\u4f20\u8f93\u65f6&#xff0c;\u534f\u8bae\u5f00\u9500\u5360\u6bd4\u53ef\u8fbe 30% \u4ee5\u4e0a\u3002<\/p>\n<hr \/>\n<h4>1.2 \u6d41\u91cf\u8ba1\u91cf\u5355\u4f4d\u6df1\u5ea6\u89e3\u6790<\/h4>\n<h5>1.2.1 \u5b58\u50a8\u5355\u4f4d vs \u4f20\u8f93\u5355\u4f4d<\/h5>\n<table>\n<tr>\u573a\u666f\u5355\u4f4d\u7b26\u53f7\u6362\u7b97\u57fa\u51c6\u793a\u4f8b<\/tr>\n<tbody>\n<tr>\n<td>\u6570\u636e\u5b58\u50a8<\/td>\n<td>Byte<\/td>\n<td>B<\/td>\n<td>1024 \u8fdb\u5236<\/td>\n<td>\u6587\u4ef6\u5927\u5c0f 5MB<\/td>\n<\/tr>\n<tr>\n<td>\u7f51\u7edc\u4f20\u8f93<\/td>\n<td>bit<\/td>\n<td>b<\/td>\n<td>1000 \u8fdb\u5236<\/td>\n<td>\u5e26\u5bbd 100Mbps<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u6362\u7b97\u516c\u5f0f&#xff1a;<\/p>\n<p>\u5e26\u5bbd (Mbps) \u2192 \u5b9e\u9645\u901f\u5ea6 (MB\/s) 100 Mbps \u00f7 8 &#061; 12.5 MB\/s (\u7406\u8bba\u6700\u5927\u503c) 100 Mbps \u00f7 8 \u00d7 0.85 \u2248 10.6 MB\/s (\u5b9e\u9645\u53ef\u7528\u503c&#xff0c;\u8003\u8651\u534f\u8bae\u5f00\u9500)<\/p>\n<h5>1.2.2 \u4e91\u670d\u52a1\u5668\u5e26\u5bbd\u89c4\u683c\u5bf9\u7167\u8868<\/h5>\n<table>\n<tr>\u5e26\u5bbd\u89c4\u683c\u7406\u8bba\u4e0b\u884c\u7406\u8bba\u4e0a\u884c\u9002\u7528\u573a\u666f\u6708\u6d41\u91cf\u4f30\u7b97<\/tr>\n<tbody>\n<tr>\n<td>1 Mbps<\/td>\n<td>128 KB\/s<\/td>\n<td>128 KB\/s<\/td>\n<td>\u4e2a\u4eba\u535a\u5ba2<\/td>\n<td>~30 GB<\/td>\n<\/tr>\n<tr>\n<td>5 Mbps<\/td>\n<td>640 KB\/s<\/td>\n<td>640 KB\/s<\/td>\n<td>\u4f01\u4e1a\u5b98\u7f51<\/td>\n<td>~150 GB<\/td>\n<\/tr>\n<tr>\n<td>10 Mbps<\/td>\n<td>1.25 MB\/s<\/td>\n<td>1.25 MB\/s<\/td>\n<td>\u5c0f\u578b\u7535\u5546<\/td>\n<td>~300 GB<\/td>\n<\/tr>\n<tr>\n<td>50 Mbps<\/td>\n<td>6.25 MB\/s<\/td>\n<td>6.25 MB\/s<\/td>\n<td>\u4e2d\u578b\u5e73\u53f0<\/td>\n<td>~1.5 TB<\/td>\n<\/tr>\n<tr>\n<td>100 Mbps<\/td>\n<td>12.5 MB\/s<\/td>\n<td>12.5 MB\/s<\/td>\n<td>\u89c6\u9891\/\u4e0b\u8f7d\u7ad9<\/td>\n<td>~3 TB<\/td>\n<\/tr>\n<tr>\n<td>1 Gbps<\/td>\n<td>125 MB\/s<\/td>\n<td>125 MB\/s<\/td>\n<td>\u5927\u578b\u6570\u636e\u4e2d\u5fc3<\/td>\n<td>~30 TB<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u6ce8\u610f&#xff1a;\u4ee5\u4e0a\u6708\u6d41\u91cf\u6309 80% \u5e26\u5bbd\u5229\u7528\u7387\u3001\u5168\u5929\u6ee1\u8f7d\u8ba1\u7b97&#xff0c;\u5b9e\u9645\u4f7f\u7528\u901a\u5e38\u4e3a 20-40%\u3002<\/p>\n<hr \/>\n<h4>1.3 \u4e0a\u884c\u6d41\u91cf\u4e0e\u4e0b\u884c\u6d41\u91cf\u7684\u4e1a\u52a1\u542b\u4e49<\/h4>\n<h5>1.3.1 \u4e0d\u540c\u4e1a\u52a1\u7c7b\u578b\u7684\u6d41\u91cf\u7279\u5f81<\/h5>\n<table>\n<tr>\u4e1a\u52a1\u7c7b\u578b\u4e0a\u884c\u5360\u6bd4\u4e0b\u884c\u5360\u6bd4\u6d41\u91cf\u7279\u5f81\u8bf4\u660e<\/tr>\n<tbody>\n<tr>\n<td>Web \u670d\u52a1\u5668<\/td>\n<td>70-90%<\/td>\n<td>10-30%<\/td>\n<td>\u54cd\u5e94\u6570\u636e\u8fdc\u5927\u4e8e\u8bf7\u6c42\u6570\u636e<\/td>\n<\/tr>\n<tr>\n<td>\u6587\u4ef6\u4e0b\u8f7d\u7ad9<\/td>\n<td>85-95%<\/td>\n<td>5-15%<\/td>\n<td>\u51e0\u4e4e\u5168\u662f\u51fa\u7ad9\u6d41\u91cf<\/td>\n<\/tr>\n<tr>\n<td>\u89c6\u9891\u70b9\u64ad<\/td>\n<td>90-98%<\/td>\n<td>2-10%<\/td>\n<td>\u89c6\u9891\u6d41\u5927\u91cf\u5916\u53d1<\/td>\n<\/tr>\n<tr>\n<td>API \u7f51\u5173<\/td>\n<td>60-75%<\/td>\n<td>25-40%<\/td>\n<td>JSON \u54cd\u5e94\u901a\u5e38\u5927\u4e8e\u8bf7\u6c42<\/td>\n<\/tr>\n<tr>\n<td>\u6570\u636e\u5e93\u4e3b\u5e93<\/td>\n<td>55-65%<\/td>\n<td>35-45%<\/td>\n<td>\u6570\u636e\u540c\u6b65\u3001\u5907\u4efd\u5916\u53d1<\/td>\n<\/tr>\n<tr>\n<td>\u722c\u866b\u670d\u52a1\u5668<\/td>\n<td>15-30%<\/td>\n<td>70-85%<\/td>\n<td>\u5927\u91cf\u6293\u53d6\u5916\u90e8\u6570\u636e<\/td>\n<\/tr>\n<tr>\n<td>\u90ae\u4ef6\u670d\u52a1\u5668<\/td>\n<td>50-60%<\/td>\n<td>40-50%<\/td>\n<td>\u6536\u53d1\u76f8\u5bf9\u5747\u8861<\/td>\n<\/tr>\n<tr>\n<td>\u6e38\u620f\u670d\u52a1\u5668<\/td>\n<td>65-75%<\/td>\n<td>25-35%<\/td>\n<td>\u72b6\u6001\u540c\u6b65\u3001\u5e7f\u64ad\u6d88\u606f<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h5>1.3.2 \u751f\u4ea7\u73af\u5883\u6570\u636e\u5206\u6790<\/h5>\n<p>\u670d\u52a1\u5668\u89d2\u8272&#xff1a;Web \u5e94\u7528\u670d\u52a1\u5668<br \/>\n\u76d1\u6d4b\u65f6\u95f4&#xff1a;2026-06-07 <span class=\"token number\">17<\/span>:07<br \/>\n\u7f51\u5361&#xff1a;eth0 <span class=\"token punctuation\">(<\/span>\u4e3b\u4e1a\u52a1\u7f51\u5361<span class=\"token punctuation\">)<\/span><\/p>\n<p>\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510<br \/>\n\u2502 \u7d2f\u8ba1\u6d41\u91cf\u7edf\u8ba1 \u2502<br \/>\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524<br \/>\n\u2502 \u4e0b\u884c <span class=\"token punctuation\">(<\/span>RX<span class=\"token punctuation\">)<\/span>: <span class=\"token number\">20.15<\/span> GB <span class=\"token punctuation\">(<\/span><span class=\"token number\">11.9<\/span>%<span class=\"token punctuation\">)<\/span> \u2190 \u7528\u6237\u8bf7\u6c42 \u2502<br \/>\n\u2502 \u4e0a\u884c <span class=\"token punctuation\">(<\/span>TX<span class=\"token punctuation\">)<\/span>: <span class=\"token number\">147.35<\/span> GB <span class=\"token punctuation\">(<\/span><span class=\"token number\">88.1<\/span>%<span class=\"token punctuation\">)<\/span> \u2192 \u670d\u52a1\u5668\u54cd\u5e94 \u2502<br \/>\n\u2502 \u603b\u8ba1&#xff1a;167.50 GB \u2502<br \/>\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518<\/p>\n<p>\u6d41\u91cf\u6bd4&#xff1a;TX\/RX <span class=\"token operator\">&#061;<\/span> <span class=\"token number\">7.31<\/span> <span class=\"token builtin class-name\">:<\/span> <span class=\"token number\">1<\/span><br \/>\n\u4e1a\u52a1\u5224\u65ad&#xff1a;\u5178\u578b\u7684 Web \u670d\u52a1\/\u5185\u5bb9\u5206\u53d1\u578b\u670d\u52a1\u5668<\/p>\n<p>\u6df1\u5ea6\u89e3\u8bfb&#xff1a;<\/p>\n<li>\u4e0a\u884c\u6d41\u91cf\u5360\u7edd\u5bf9\u4e3b\u5bfc&#xff08;88.1%&#xff09;- \u8bf4\u660e\u670d\u52a1\u5668\u4e3b\u8981\u5bf9\u5916\u53d1\u9001\u6570\u636e<\/li>\n<li>\u6d41\u91cf\u6bd4 7.3:1 &#8211; \u7b26\u5408 Web \u5e94\u7528\u7279\u5f81&#xff08;HTTP \u54cd\u5e94\u901a\u5e38\u6bd4\u8bf7\u6c42\u5927 5-10 \u500d&#xff09;<\/li>\n<li>\u65e0 Docker \u6d41\u91cf &#8211; docker0 \u7f51\u5361 DOWN \u72b6\u6001&#xff0c;\u5bb9\u5668\u670d\u52a1\u672a\u8fd0\u884c<\/li>\n<li>\u672c\u5730\u56de\u73af\u6d41\u91cf\u5927&#xff08;82GB\u00d72&#xff09;- \u8bf4\u660e\u5185\u90e8\u670d\u52a1\u95f4\u901a\u4fe1\u9891\u7e41<\/li>\n<hr \/>\n<h3>\u4e8c\u3001Linux \u6d41\u91cf\u76d1\u6d4b\u6280\u672f\u6808<\/h3>\n<h4>2.1 \u5185\u6838\u7ea7\u76d1\u6d4b&#xff1a;\/proc \u6587\u4ef6\u7cfb\u7edf<\/h4>\n<h5>2.1.1 \/proc\/net\/dev \u6df1\u5ea6\u89e3\u6790<\/h5>\n<p><span class=\"token function\">cat<\/span> \/proc\/net\/dev<\/p>\n<p>\u5b8c\u6574\u8f93\u51fa\u793a\u4f8b&#xff1a;<\/p>\n<p>Inter-<span class=\"token operator\">|<\/span>   Receive                                             <span class=\"token operator\">|<\/span>  Transmit<br \/>\n face <span class=\"token operator\">|<\/span>bytes    packets errs drop fifo frame compressed multicast<span class=\"token operator\">|<\/span>bytes    packets errs drop fifo colls carrier compressed<br \/>\n    lo: <span class=\"token number\">88336624427<\/span> <span class=\"token number\">164859979<\/span>    <span class=\"token number\">0<\/span>    <span class=\"token number\">0<\/span>    <span class=\"token number\">0<\/span>     <span class=\"token number\">0<\/span>          <span class=\"token number\">0<\/span>         <span class=\"token number\">0<\/span> <span class=\"token number\">88336624427<\/span> <span class=\"token number\">164859979<\/span>    <span class=\"token number\">0<\/span>    <span class=\"token number\">0<\/span>    <span class=\"token number\">0<\/span>     <span class=\"token number\">0<\/span>       <span class=\"token number\">0<\/span>          <span class=\"token number\">0<\/span><br \/>\n  eth0: <span class=\"token number\">21132850892<\/span> <span class=\"token number\">108723814<\/span>    <span class=\"token number\">0<\/span>    <span class=\"token number\">0<\/span>    <span class=\"token number\">0<\/span>     <span class=\"token number\">0<\/span>          <span class=\"token number\">0<\/span>         <span class=\"token number\">0<\/span> <span class=\"token number\">158221074309<\/span> <span class=\"token number\">131260936<\/span>    <span class=\"token number\">0<\/span>    <span class=\"token number\">0<\/span>    <span class=\"token number\">0<\/span>     <span class=\"token number\">0<\/span>       <span class=\"token number\">0<\/span>          <span class=\"token number\">0<\/span><\/p>\n<p>\u5b57\u6bb5\u8be6\u89e3&#xff1a;<\/p>\n<table>\n<tr>\u5217\u540d\u542b\u4e49\u6b63\u5e38\u503c\u5f02\u5e38\u5224\u65ad<\/tr>\n<tbody>\n<tr>\n<td align=\"left\">bytes<\/td>\n<td align=\"left\">\u7d2f\u8ba1\u5b57\u8282\u6570<\/td>\n<td align=\"left\">\u6301\u7eed\u589e\u957f<\/td>\n<td align=\"left\">\u7a81\u589e\u9700\u5173\u6ce8<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">packets<\/td>\n<td align=\"left\">\u7d2f\u8ba1\u6570\u636e\u5305\u6570<\/td>\n<td align=\"left\">\u6301\u7eed\u589e\u957f<\/td>\n<td align=\"left\">&#8211;<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">errs<\/td>\n<td align=\"left\">\u9519\u8bef\u6570<\/td>\n<td align=\"left\">0<\/td>\n<td align=\"left\">&gt;0 \u8868\u793a\u786c\u4ef6\/\u9a71\u52a8\u95ee\u9898<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">drop<\/td>\n<td align=\"left\">\u4e22\u5f03\u6570<\/td>\n<td align=\"left\">0<\/td>\n<td align=\"left\">&gt;0 \u8868\u793a\u7f13\u51b2\u533a\u6ee1\/\u9632\u706b\u5899\u4e22\u5f03<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">fifo<\/td>\n<td align=\"left\">FIFO \u7f13\u51b2\u9519\u8bef<\/td>\n<td align=\"left\">0<\/td>\n<td align=\"left\">&gt;0 \u8868\u793a\u9a71\u52a8\u95ee\u9898<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">frame<\/td>\n<td align=\"left\">\u5e27\u9519\u8bef<\/td>\n<td align=\"left\">0<\/td>\n<td align=\"left\">&gt;0 \u8868\u793a\u7269\u7406\u5c42\u95ee\u9898<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">compressed<\/td>\n<td align=\"left\">\u538b\u7f29\u5305\u6570<\/td>\n<td align=\"left\">\u901a\u5e38 0<\/td>\n<td align=\"left\">&#8211;<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">multicast<\/td>\n<td align=\"left\">\u591a\u64ad\u5305\u6570<\/td>\n<td align=\"left\">\u89c6\u7f51\u7edc\u800c\u5b9a<\/td>\n<td align=\"left\">&#8211;<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">colls<\/td>\n<td align=\"left\">\u51b2\u7a81\u6570<\/td>\n<td align=\"left\">0 (\u5168\u53cc\u5de5)<\/td>\n<td align=\"left\">&gt;0 \u8868\u793a\u7f51\u7edc\u51b2\u7a81<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">carrier<\/td>\n<td align=\"left\">\u8f7d\u6ce2\u9519\u8bef<\/td>\n<td align=\"left\">0<\/td>\n<td align=\"left\">&gt;0 \u8868\u793a\u7269\u7406\u8fde\u63a5\u95ee\u9898<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u81ea\u52a8\u5316\u89e3\u6790\u811a\u672c&#xff1a;<\/p>\n<p><span class=\"token shebang important\">#!\/bin\/bash<\/span><br \/>\n<span class=\"token comment\"># \u83b7\u53d6 eth0 \u5b9e\u65f6\u6d41\u91cf<\/span><\/p>\n<p><span class=\"token assign-left variable\">RX_BYTES<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token variable\"><span class=\"token variable\">$(<\/span><span class=\"token function\">cat<\/span> \/sys\/class\/net\/eth0\/statistics\/rx_bytes<span class=\"token variable\">)<\/span><\/span><br \/>\n<span class=\"token assign-left variable\">TX_BYTES<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token variable\"><span class=\"token variable\">$(<\/span><span class=\"token function\">cat<\/span> \/sys\/class\/net\/eth0\/statistics\/tx_bytes<span class=\"token variable\">)<\/span><\/span><br \/>\n<span class=\"token assign-left variable\">RX_PACKETS<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token variable\"><span class=\"token variable\">$(<\/span><span class=\"token function\">cat<\/span> \/sys\/class\/net\/eth0\/statistics\/rx_packets<span class=\"token variable\">)<\/span><\/span><br \/>\n<span class=\"token assign-left variable\">TX_PACKETS<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token variable\"><span class=\"token variable\">$(<\/span><span class=\"token function\">cat<\/span> \/sys\/class\/net\/eth0\/statistics\/tx_packets<span class=\"token variable\">)<\/span><\/span><br \/>\n<span class=\"token assign-left variable\">RX_ERRORS<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token variable\"><span class=\"token variable\">$(<\/span><span class=\"token function\">cat<\/span> \/sys\/class\/net\/eth0\/statistics\/rx_errors<span class=\"token variable\">)<\/span><\/span><br \/>\n<span class=\"token assign-left variable\">TX_ERRORS<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token variable\"><span class=\"token variable\">$(<\/span><span class=\"token function\">cat<\/span> \/sys\/class\/net\/eth0\/statistics\/tx_errors<span class=\"token variable\">)<\/span><\/span><\/p>\n<p><span class=\"token builtin class-name\">echo<\/span> <span class=\"token string\">&#034;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061; eth0 \u6d41\u91cf\u7edf\u8ba1 &#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#034;<\/span><br \/>\n<span class=\"token builtin class-name\">echo<\/span> <span class=\"token string\">&#034;\u4e0b\u884c\u6d41\u91cf&#xff1a;<span class=\"token variable\"><span class=\"token variable\">$(<\/span><span class=\"token builtin class-name\">echo<\/span> <span class=\"token string\">&#034;scale&#061;2; <span class=\"token variable\">$RX_BYTES<\/span>\/1024\/1024\/1024&#034;<\/span> <span class=\"token operator\">|<\/span> <span class=\"token function\">bc<\/span><span class=\"token variable\">)<\/span><\/span> GB&#034;<\/span><br \/>\n<span class=\"token builtin class-name\">echo<\/span> <span class=\"token string\">&#034;\u4e0a\u884c\u6d41\u91cf&#xff1a;<span class=\"token variable\"><span class=\"token variable\">$(<\/span><span class=\"token builtin class-name\">echo<\/span> <span class=\"token string\">&#034;scale&#061;2; <span class=\"token variable\">$TX_BYTES<\/span>\/1024\/1024\/1024&#034;<\/span> <span class=\"token operator\">|<\/span> <span class=\"token function\">bc<\/span><span class=\"token variable\">)<\/span><\/span> GB&#034;<\/span><br \/>\n<span class=\"token builtin class-name\">echo<\/span> <span class=\"token string\">&#034;\u4e0b\u884c\u5305\u6570&#xff1a;<span class=\"token variable\">$RX_PACKETS<\/span>&#034;<\/span><br \/>\n<span class=\"token builtin class-name\">echo<\/span> <span class=\"token string\">&#034;\u4e0a\u884c\u5305\u6570&#xff1a;<span class=\"token variable\">$TX_PACKETS<\/span>&#034;<\/span><br \/>\n<span class=\"token builtin class-name\">echo<\/span> <span class=\"token string\">&#034;\u4e0b\u884c\u9519\u8bef&#xff1a;<span class=\"token variable\">$RX_ERRORS<\/span>&#034;<\/span><br \/>\n<span class=\"token builtin class-name\">echo<\/span> <span class=\"token string\">&#034;\u4e0a\u884c\u9519\u8bef&#xff1a;<span class=\"token variable\">$TX_ERRORS<\/span>&#034;<\/span><br \/>\n<span class=\"token builtin class-name\">echo<\/span> <span class=\"token string\">&#034;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#034;<\/span><\/p>\n<hr \/>\n<h5>2.1.2 \/sys\/class\/net \u5b9e\u65f6\u7edf\u8ba1<\/h5>\n<p><span class=\"token comment\"># \u5b9e\u65f6\u8bfb\u53d6&#xff08;\u65e0\u7f13\u5b58&#xff0c;\u6700\u51c6\u786e&#xff09;<\/span><br \/>\n<span class=\"token function\">cat<\/span> \/sys\/class\/net\/eth0\/statistics\/rx_bytes   <span class=\"token comment\"># \u4e0b\u884c\u5b57\u8282<\/span><br \/>\n<span class=\"token function\">cat<\/span> \/sys\/class\/net\/eth0\/statistics\/tx_bytes   <span class=\"token comment\"># \u4e0a\u884c\u5b57\u8282<\/span><br \/>\n<span class=\"token function\">cat<\/span> \/sys\/class\/net\/eth0\/statistics\/rx_packets <span class=\"token comment\"># \u4e0b\u884c\u5305\u6570<\/span><br \/>\n<span class=\"token function\">cat<\/span> \/sys\/class\/net\/eth0\/statistics\/tx_packets <span class=\"token comment\"># \u4e0a\u884c\u5305\u6570<\/span><\/p>\n<p><span class=\"token comment\"># \u6301\u7eed\u76d1\u63a7&#xff08;\u6bcf\u79d2\u5237\u65b0&#xff09;<\/span><br \/>\n<span class=\"token function\">watch<\/span> <span class=\"token parameter variable\">-n<\/span> <span class=\"token number\">1<\/span> <span class=\"token string\">&#039;cat \/sys\/class\/net\/eth0\/statistics\/tx_bytes&#039;<\/span><\/p>\n<hr \/>\n<h4>2.2 \u7cfb\u7edf\u7ea7\u76d1\u6d4b&#xff1a;sar \u547d\u4ee4&#xff08;sysstat \u5305&#xff09;<\/h4>\n<h5>2.2.1 \u5b89\u88c5\u4e0e\u914d\u7f6e<\/h5>\n<p><span class=\"token comment\"># CentOS\/Alibaba Cloud Linux<\/span><br \/>\nyum <span class=\"token function\">install<\/span> sysstat <span class=\"token parameter variable\">-y<\/span><br \/>\nsystemctl <span class=\"token builtin class-name\">enable<\/span> sysstat<br \/>\nsystemctl start sysstat<\/p>\n<p><span class=\"token comment\"># Ubuntu\/Debian<\/span><br \/>\n<span class=\"token function\">apt<\/span> <span class=\"token function\">install<\/span> sysstat <span class=\"token parameter variable\">-y<\/span><br \/>\n<span class=\"token comment\"># \u7f16\u8f91 \/etc\/default\/sysstat&#xff0c;\u8bbe\u7f6e ENABLED&#061;&#034;true&#034;<\/span><\/p>\n<h5>2.2.2 \u5e38\u7528\u547d\u4ee4\u8be6\u89e3<\/h5>\n<p><span class=\"token comment\"># \u5b9e\u65f6\u76d1\u6d4b&#xff08;\u6bcf\u79d2\u5237\u65b0&#xff0c;\u5171 10 \u6b21&#xff09;<\/span><br \/>\nsar <span class=\"token parameter variable\">-n<\/span> DEV <span class=\"token number\">1<\/span> <span class=\"token number\">10<\/span><\/p>\n<p><span class=\"token comment\"># \u67e5\u770b\u4eca\u65e5\u5386\u53f2\u6570\u636e<\/span><br \/>\nsar <span class=\"token parameter variable\">-n<\/span> DEV<\/p>\n<p><span class=\"token comment\"># \u67e5\u770b\u6307\u5b9a\u65e5\u671f\u6570\u636e<\/span><br \/>\nsar <span class=\"token parameter variable\">-n<\/span> DEV <span class=\"token parameter variable\">-f<\/span> \/var\/log\/sa\/sa04    <span class=\"token comment\"># \u67e5\u770b\u672c\u6708 4 \u65e5\u6570\u636e<\/span><\/p>\n<p><span class=\"token comment\"># \u67e5\u770b\u7279\u5b9a\u7f51\u5361<\/span><br \/>\nsar <span class=\"token parameter variable\">-n<\/span> DEV <span class=\"token number\">1<\/span> <span class=\"token number\">5<\/span> <span class=\"token parameter variable\">-i<\/span> eth0<\/p>\n<p><span class=\"token comment\"># \u8f93\u51fa\u8be6\u7ec6\u7edf\u8ba1&#xff08;\u542b\u9519\u8bef\u7387&#xff09;<\/span><br \/>\nsar <span class=\"token parameter variable\">-n<\/span> EDEV <span class=\"token number\">1<\/span> <span class=\"token number\">5<\/span><\/p>\n<h5>2.2.3 \u8f93\u51fa\u5b57\u6bb5\u8be6\u89e3<\/h5>\n<p><span class=\"token number\">11<\/span>:07:19 PM     IFACE   rxpck\/s   txpck\/s    rxkB\/s    txkB\/s   rxcmp\/s   txcmp\/s  rxmcst\/s   %ifutil<br \/>\n<span class=\"token number\">11<\/span>:07:19 PM      eth0     <span class=\"token number\">17.00<\/span>     <span class=\"token number\">21.00<\/span>      <span class=\"token number\">1.82<\/span>     <span class=\"token number\">21.11<\/span>      <span class=\"token number\">0.00<\/span>      <span class=\"token number\">0.00<\/span>      <span class=\"token number\">0.00<\/span>      <span class=\"token number\">0.00<\/span><\/p>\n<table>\n<tr>\u5b57\u6bb5\u542b\u4e49\u5355\u4f4d\u5173\u6ce8\u9608\u503c<\/tr>\n<tbody>\n<tr>\n<td align=\"left\">IFACE<\/td>\n<td align=\"left\">\u7f51\u5361\u540d\u79f0<\/td>\n<td align=\"left\">&#8211;<\/td>\n<td align=\"left\">&#8211;<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">rxpck\/s<\/td>\n<td align=\"left\">\u6bcf\u79d2\u63a5\u6536\u5305\u6570<\/td>\n<td align=\"left\">\u5305\/\u79d2<\/td>\n<td align=\"left\">&gt;10000 \u9700\u5173\u6ce8<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">txpck\/s<\/td>\n<td align=\"left\">\u6bcf\u79d2\u53d1\u9001\u5305\u6570<\/td>\n<td align=\"left\">\u5305\/\u79d2<\/td>\n<td align=\"left\">&gt;10000 \u9700\u5173\u6ce8<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">rxkB\/s<\/td>\n<td align=\"left\">\u6bcf\u79d2\u63a5\u6536\u6570\u636e<\/td>\n<td align=\"left\">KB\/s<\/td>\n<td align=\"left\">\u6839\u636e\u5e26\u5bbd\u8bc4\u4f30<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">txkB\/s<\/td>\n<td align=\"left\">\u6bcf\u79d2\u53d1\u9001\u6570\u636e<\/td>\n<td align=\"left\">KB\/s<\/td>\n<td align=\"left\">\u6839\u636e\u5e26\u5bbd\u8bc4\u4f30<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">rxcmp\/s<\/td>\n<td align=\"left\">\u538b\u7f29\u63a5\u6536\u5305<\/td>\n<td align=\"left\">\u5305\/\u79d2<\/td>\n<td align=\"left\">\u901a\u5e38 0<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">txcmp\/s<\/td>\n<td align=\"left\">\u538b\u7f29\u53d1\u9001\u5305<\/td>\n<td align=\"left\">\u5305\/\u79d2<\/td>\n<td align=\"left\">\u901a\u5e38 0<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">rxmcst\/s<\/td>\n<td align=\"left\">\u591a\u64ad\u5305<\/td>\n<td align=\"left\">\u5305\/\u79d2<\/td>\n<td align=\"left\">\u89c6\u7f51\u7edc\u800c\u5b9a<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">%ifutil<\/td>\n<td align=\"left\">\u5e26\u5bbd\u5229\u7528\u7387<\/td>\n<td align=\"left\">\u767e\u5206\u6bd4<\/td>\n<td align=\"left\">&gt;70% \u9700\u6269\u5bb9<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr \/>\n<h4>2.3 \u5e94\u7528\u7ea7\u76d1\u6d4b&#xff1a;\u4e13\u4e1a\u6d41\u91cf\u5de5\u5177<\/h4>\n<h5>2.3.1 iftop &#8211; \u5b9e\u65f6\u6d41\u91cf\u6392\u884c<\/h5>\n<p><span class=\"token comment\"># \u5b89\u88c5<\/span><br \/>\nyum <span class=\"token function\">install<\/span> iftop <span class=\"token parameter variable\">-y<\/span>      <span class=\"token comment\"># CentOS<\/span><br \/>\n<span class=\"token function\">apt<\/span> <span class=\"token function\">install<\/span> iftop <span class=\"token parameter variable\">-y<\/span>      <span class=\"token comment\"># Ubuntu<\/span><\/p>\n<p><span class=\"token comment\"># \u57fa\u672c\u4f7f\u7528<\/span><br \/>\niftop <span class=\"token parameter variable\">-i<\/span> eth0             <span class=\"token comment\"># \u76d1\u6d4b eth0 \u7f51\u5361<\/span><br \/>\niftop <span class=\"token parameter variable\">-P<\/span> <span class=\"token parameter variable\">-n<\/span> <span class=\"token parameter variable\">-i<\/span> eth0       <span class=\"token comment\"># \u663e\u793a\u7aef\u53e3 &#043; \u6570\u5b57 IP<\/span><\/p>\n<p><span class=\"token comment\"># \u8fc7\u6ee4\u7279\u5b9a IP<\/span><br \/>\niftop <span class=\"token parameter variable\">-i<\/span> eth0 <span class=\"token parameter variable\">-F<\/span> <span class=\"token number\">192.168<\/span>.1.0\/24<\/p>\n<p>\u754c\u9762\u89e3\u8bfb&#xff1a;<\/p>\n<p>                              <span class=\"token number\">192.168<\/span>.1.100<br \/>\n    <span class=\"token number\">0<\/span>.5KB                   \u25b2      \u2502<br \/>\n    <span class=\"token number\">1<\/span>.2KB                   \u2502      \u25bc<br \/>\n                              <span class=\"token number\">10.0<\/span>.0.50<\/p>\n<ul>\n<li>\u25b2 \u8868\u793a\u6d41\u5165&#xff08;\u4e0b\u884c&#xff09;<\/li>\n<li>\u25bc \u8868\u793a\u6d41\u51fa&#xff08;\u4e0a\u884c&#xff09;<\/li>\n<li>\u5de6\u4fa7\u6570\u5b57\u8868\u793a\u6d41\u91cf\u5927\u5c0f<\/li>\n<\/ul>\n<hr \/>\n<h5>2.3.2 nethogs &#8211; \u6309\u8fdb\u7a0b\u7edf\u8ba1\u6d41\u91cf<\/h5>\n<p><span class=\"token comment\"># \u5b89\u88c5<\/span><br \/>\nyum <span class=\"token function\">install<\/span> nethogs <span class=\"token parameter variable\">-y<\/span><br \/>\n<span class=\"token function\">apt<\/span> <span class=\"token function\">install<\/span> nethogs <span class=\"token parameter variable\">-y<\/span><\/p>\n<p><span class=\"token comment\"># \u4f7f\u7528<\/span><br \/>\nnethogs eth0              <span class=\"token comment\"># \u6309\u8fdb\u7a0b\u663e\u793a\u6d41\u91cf<\/span><br \/>\nnethogs <span class=\"token parameter variable\">-t<\/span> eth0           <span class=\"token comment\"># \u6587\u672c\u6a21\u5f0f&#xff08;\u9002\u5408\u811a\u672c&#xff09;<\/span><br \/>\nnethogs <span class=\"token parameter variable\">-v<\/span> <span class=\"token number\">2<\/span> eth0         <span class=\"token comment\"># \u663e\u793a\u7d2f\u8ba1\u6d41\u91cf<\/span><\/p>\n<p>\u8f93\u51fa\u793a\u4f8b&#xff1a;<\/p>\n<p>PID     <span class=\"token environment constant\">USER<\/span>     PROGRAM                    DEV        SENT      RECEIVED<br \/>\n<span class=\"token number\">1234<\/span>    nginx    nginx: worker process      eth0       <span class=\"token number\">15.2<\/span> KB   <span class=\"token number\">128.5<\/span> KB<br \/>\n<span class=\"token number\">5678<\/span>    mysql    mysqld                     eth0       <span class=\"token number\">8.1<\/span> KB    <span class=\"token number\">45.3<\/span> KB<\/p>\n<hr \/>\n<h5>2.3.3 vnstat &#8211; \u6d41\u91cf\u5386\u53f2\u8bb0\u5f55<\/h5>\n<p><span class=\"token comment\"># \u5b89\u88c5\u5e76\u521d\u59cb\u5316<\/span><br \/>\nyum <span class=\"token function\">install<\/span> vnstat <span class=\"token parameter variable\">-y<\/span><br \/>\nvnstat <span class=\"token parameter variable\">-u<\/span> <span class=\"token parameter variable\">-i<\/span> eth0         <span class=\"token comment\"># \u521d\u59cb\u5316 eth0 \u7f51\u5361\u7edf\u8ba1<\/span><\/p>\n<p><span class=\"token comment\"># \u67e5\u770b\u7edf\u8ba1<\/span><br \/>\nvnstat                    <span class=\"token comment\"># \u6c47\u603b\u7edf\u8ba1<\/span><br \/>\nvnstat <span class=\"token parameter variable\">-l<\/span>                 <span class=\"token comment\"># \u5b9e\u65f6\u6a21\u5f0f<\/span><br \/>\nvnstat <span class=\"token parameter variable\">-d<\/span>                 <span class=\"token comment\"># \u6309\u65e5\u7edf\u8ba1<\/span><br \/>\nvnstat <span class=\"token parameter variable\">-m<\/span>                 <span class=\"token comment\"># \u6309\u6708\u7edf\u8ba1<\/span><br \/>\nvnstat <span class=\"token parameter variable\">-h<\/span>                 <span class=\"token comment\"># \u6309\u5c0f\u65f6\u7edf\u8ba1<\/span><\/p>\n<p>\u8f93\u51fa\u793a\u4f8b&#xff1a;<\/p>\n<p>eth0 \/ <span class=\"token number\">100<\/span> Mbit\/s <span class=\"token punctuation\">(<\/span>ethernet<span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><br \/>\n      est. current month:          <span class=\"token number\">45.2<\/span> GiB<\/p>\n<p> Day <span class=\"token operator\">|<\/span>   rx      <span class=\"token operator\">|<\/span>    tx     <span class=\"token operator\">|<\/span>   total    <span class=\"token operator\">|<\/span>   avg. rate<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;&#043;&#8212;&#8212;&#8212;&#8212;&#043;&#8212;&#8212;&#8212;&#8212;-<br \/>\n 01  <span class=\"token operator\">|<\/span>   <span class=\"token number\">1.2<\/span> GiB <span class=\"token operator\">|<\/span>   <span class=\"token number\">8.5<\/span> GiB <span class=\"token operator\">|<\/span>   <span class=\"token number\">9.7<\/span> GiB  <span class=\"token operator\">|<\/span>   <span class=\"token number\">256<\/span> kbit\/s<br \/>\n 02  <span class=\"token operator\">|<\/span>   <span class=\"token number\">1.5<\/span> GiB <span class=\"token operator\">|<\/span>   <span class=\"token number\">9.2<\/span> GiB <span class=\"token operator\">|<\/span>  <span class=\"token number\">10.7<\/span> GiB  <span class=\"token operator\">|<\/span>   <span class=\"token number\">298<\/span> kbit\/s<\/p>\n<hr \/>\n<h5>2.3.4 iptraf-ng &#8211; \u7efc\u5408\u7f51\u7edc\u76d1\u63a7<\/h5>\n<p><span class=\"token comment\"># \u5b89\u88c5<\/span><br \/>\nyum <span class=\"token function\">install<\/span> iptraf-ng <span class=\"token parameter variable\">-y<\/span><br \/>\n<span class=\"token function\">apt<\/span> <span class=\"token function\">install<\/span> iptraf-ng <span class=\"token parameter variable\">-y<\/span><\/p>\n<p><span class=\"token comment\"># \u8fd0\u884c&#xff08;\u4ea4\u4e92\u5f0f\u754c\u9762&#xff09;<\/span><br \/>\niptraf-ng<\/p>\n<p>\u529f\u80fd\u5305\u62ec&#xff1a;<\/p>\n<ul>\n<li>\u5b9e\u65f6\u6d41\u91cf\u7edf\u8ba1<\/li>\n<li>TCP\/UDP \u8fde\u63a5\u76d1\u63a7<\/li>\n<li>\u6570\u636e\u5305\u5927\u5c0f\u5206\u5e03<\/li>\n<li>\u7f51\u7edc\u63a5\u53e3\u7edf\u8ba1<\/li>\n<\/ul>\n<hr \/>\n<h3>\u4e09\u3001\u751f\u4ea7\u73af\u5883\u5b9e\u6218\u6570\u636e\u5206\u6790<\/h3>\n<h4>3.1 \u5f53\u524d\u670d\u52a1\u5668\u6d41\u91cf\u753b\u50cf<\/h4>\n<p>\u2554\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2557<br \/>\n\u2551                    \u670d\u52a1\u5668\u6d41\u91cf\u6863\u6848                           \u2551<br \/>\n\u2560\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2563<br \/>\n\u2551  \u670d\u52a1\u5668\u7c7b\u578b&#xff1a;Alibaba Cloud <span class=\"token number\">3<\/span> <span class=\"token punctuation\">(<\/span>Soaring Falcon<span class=\"token punctuation\">)<\/span>              \u2551<br \/>\n\u2551  CPU \u914d\u7f6e&#xff1a;2 \u6838\u5fc3                                            \u2551<br \/>\n\u2551  \u5185\u5b58\u914d\u7f6e&#xff1a;1871 MB                                          \u2551<br \/>\n\u2551  \u4e3b\u7f51\u5361&#xff1a;eth0 <span class=\"token punctuation\">(<\/span><span class=\"token number\">100<\/span> Mbps \u4f30\u8ba1<span class=\"token punctuation\">)<\/span>                              \u2551<br \/>\n\u2551  \u76d1\u6d4b\u65f6\u95f4&#xff1a;2026-06-07 <span class=\"token number\">17<\/span>:07                            \u2551<br \/>\n\u255a\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u255d<\/p>\n<h5>3.1.1 \u7d2f\u8ba1\u6d41\u91cf\u5206\u6790<\/h5>\n<table>\n<tr>\u6307\u6807\u6570\u503c\u5360\u6bd4\u4e1a\u52a1\u542b\u4e49<\/tr>\n<tbody>\n<tr>\n<td align=\"left\">\u4e0b\u884c\u7d2f\u8ba1<\/td>\n<td align=\"left\">20.15 GB<\/td>\n<td align=\"left\">12.0%<\/td>\n<td align=\"left\">\u7528\u6237\u8bf7\u6c42\u3001\u6587\u4ef6\u4e0a\u4f20<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">\u4e0a\u884c\u7d2f\u8ba1<\/td>\n<td align=\"left\">147.35 GB<\/td>\n<td align=\"left\">88.0%<\/td>\n<td align=\"left\">\u7f51\u9875\u54cd\u5e94\u3001\u6587\u4ef6\u4e0b\u8f7d<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">\u56de\u73af\u6d41\u91cf<\/td>\n<td align=\"left\">164.54 GB<\/td>\n<td align=\"left\">&#8211;<\/td>\n<td align=\"left\">\u5185\u90e8\u670d\u52a1\u901a\u4fe1<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">\u603b\u4e1a\u52a1\u6d41\u91cf<\/td>\n<td align=\"left\">167.50 GB<\/td>\n<td align=\"left\">100%<\/td>\n<td align=\"left\">\u5bf9\u5916\u670d\u52a1\u603b\u91cf<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h5>3.1.2 \u5b9e\u65f6\u6d41\u91cf\u8d8b\u52bf&#xff08;3 \u79d2\u91c7\u6837&#xff09;<\/h5>\n<p>\u65f6\u95f4\u6233         \u4e0b\u884c <span class=\"token punctuation\">(<\/span>KB\/s<span class=\"token punctuation\">)<\/span>    \u4e0a\u884c <span class=\"token punctuation\">(<\/span>KB\/s<span class=\"token punctuation\">)<\/span>    \u5e26\u5bbd\u5229\u7528\u7387<br \/>\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<br \/>\n<span class=\"token number\">23<\/span>:07:19      <span class=\"token number\">1.82<\/span>          <span class=\"token number\">21.11<\/span>          <span class=\"token number\">0.02<\/span>%<br \/>\n<span class=\"token number\">23<\/span>:07:20      <span class=\"token number\">0.59<\/span>          <span class=\"token number\">8.24<\/span>           <span class=\"token number\">0.01<\/span>%<br \/>\n<span class=\"token number\">23<\/span>:07:21      <span class=\"token number\">0.00<\/span>          <span class=\"token number\">0.00<\/span>           <span class=\"token number\">0.00<\/span>%<br \/>\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<br \/>\n\u5e73\u5747          <span class=\"token number\">0.80<\/span>          <span class=\"token number\">9.78<\/span>           <span class=\"token number\">0.01<\/span>%<\/p>\n<p>\u8d8b\u52bf\u5206\u6790&#xff1a;<\/p>\n<li>\u6d41\u91cf\u6ce2\u52a8\u5927 &#8211; \u5cf0\u503c\u4e0e\u8c37\u503c\u76f8\u5dee 20 \u500d\u4ee5\u4e0a<\/li>\n<li>\u95f4\u6b47\u6027\u8bf7\u6c42 &#8211; \u5b58\u5728\u65e0\u8bf7\u6c42\u65f6\u6bb5&#xff08;23:07:21 \u4e3a 0&#xff09;<\/li>\n<li>\u4e0a\u884c\u4e3b\u5bfc &#8211; \u4e0a\u884c\u5e73\u5747\u662f\u4e0b\u884c\u7684 12 \u500d<\/li>\n<li>\u5e26\u5bbd\u5145\u8db3 &#8211; \u5229\u7528\u7387\u4ec5 0.01%&#xff0c;\u6269\u5bb9\u7a7a\u95f4\u5927<\/li>\n<hr \/>\n<h4>3.2 \u6d41\u91cf\u5065\u5eb7\u5ea6\u8bc4\u4f30<\/h4>\n<h5>3.2.1 \u9519\u8bef\u7387\u5206\u6790<\/h5>\n<table>\n<tr>\u9519\u8bef\u7c7b\u578b\u4e0b\u884c\u4e0a\u884c\u72b6\u6001<\/tr>\n<tbody>\n<tr>\n<td align=\"left\">errs&#xff08;\u9519\u8bef&#xff09;<\/td>\n<td align=\"left\">0<\/td>\n<td align=\"left\">0<\/td>\n<td align=\"left\">\u2705 \u6b63\u5e38<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">drop&#xff08;\u4e22\u5f03&#xff09;<\/td>\n<td align=\"left\">0<\/td>\n<td align=\"left\">0<\/td>\n<td align=\"left\">\u2705 \u6b63\u5e38<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">fifo&#xff08;\u7f13\u51b2&#xff09;<\/td>\n<td align=\"left\">0<\/td>\n<td align=\"left\">0<\/td>\n<td align=\"left\">\u2705 \u6b63\u5e38<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">frame&#xff08;\u5e27&#xff09;<\/td>\n<td align=\"left\">0<\/td>\n<td align=\"left\">0<\/td>\n<td align=\"left\">\u2705 \u6b63\u5e38<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">colls&#xff08;\u51b2\u7a81&#xff09;<\/td>\n<td align=\"left\">0<\/td>\n<td align=\"left\">0<\/td>\n<td align=\"left\">\u2705 \u6b63\u5e38<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">carrier&#xff08;\u8f7d\u6ce2&#xff09;<\/td>\n<td align=\"left\">0<\/td>\n<td align=\"left\">0<\/td>\n<td align=\"left\">\u2705 \u6b63\u5e38<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u7ed3\u8bba&#xff1a;\u7f51\u7edc\u8fde\u63a5\u8d28\u91cf\u4f18\u79c0&#xff0c;\u65e0\u786c\u4ef6\/\u9a71\u52a8\u95ee\u9898\u3002<\/p>\n<h5>3.2.2 \u5e26\u5bbd\u5229\u7528\u7387\u8bc4\u4f30<\/h5>\n<p>\u5f53\u524d\u5e26\u5bbd\u5229\u7528\u7387&#xff1a;0.01%<br \/>\n\u251c\u2500\u2500 <span class=\"token operator\">&lt;<\/span> <span class=\"token number\">30<\/span>%   \u2705 \u5065\u5eb7\u533a\u95f4&#xff08;\u5f53\u524d&#xff09;<br \/>\n\u251c\u2500\u2500 <span class=\"token number\">30<\/span>-60%  \u26a0\ufe0f \u5173\u6ce8\u533a\u95f4<br \/>\n\u251c\u2500\u2500 <span class=\"token number\">60<\/span>-80%  \u26a0\ufe0f \u9884\u8b66\u533a\u95f4<br \/>\n\u2514\u2500\u2500 <span class=\"token operator\">&gt;<\/span> <span class=\"token number\">80<\/span>%   \u274c \u5371\u9669\u533a\u95f4&#xff08;\u9700\u6269\u5bb9&#xff09;<\/p>\n<hr \/>\n<h4>3.3 \u4e1a\u52a1\u7c7b\u578b\u63a8\u65ad<\/h4>\n<p>\u57fa\u4e8e\u6d41\u91cf\u7279\u5f81\u5206\u6790&#xff1a;<\/p>\n<table>\n<tr>\u7279\u5f81\u89c2\u6d4b\u503c\u63a8\u65ad\u4e1a\u52a1<\/tr>\n<tbody>\n<tr>\n<td align=\"left\">TX\/RX \u6bd4<\/td>\n<td align=\"left\">7.3:1<\/td>\n<td align=\"left\">Web \u670d\u52a1\/API \u670d\u52a1<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">\u5e73\u5747\u4e0a\u884c<\/td>\n<td align=\"left\">9.78 KB\/s<\/td>\n<td align=\"left\">\u4e2d\u5c0f\u578b\u7f51\u7ad9<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">\u6d41\u91cf\u6ce2\u52a8<\/td>\n<td align=\"left\">\u5927<\/td>\n<td align=\"left\">\u95f4\u6b47\u6027\u8bbf\u95ee<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">\u56de\u73af\u6d41\u91cf<\/td>\n<td align=\"left\">\u9ad8<\/td>\n<td align=\"left\">\u591a\u670d\u52a1\u67b6\u6784<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">Docker \u6d41\u91cf<\/td>\n<td align=\"left\">\u65e0<\/td>\n<td align=\"left\">\u975e\u5bb9\u5668\u5316\u90e8\u7f72<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u7efc\u5408\u5224\u65ad&#xff1a;\u8fd9\u662f\u4e00\u53f0\u4f20\u7edf\u67b6\u6784\u7684 Web \u5e94\u7528\u670d\u52a1\u5668&#xff0c;\u8fd0\u884c Nginx&#043; PHP\/Python\/Java &#043; MySQL \u7ec4\u5408\u3002<\/p>\n<hr \/>\n<h3>\u56db\u3001\u6d41\u91cf\u5f02\u5e38\u8bca\u65ad\u4e0e\u6392\u67e5<\/h3>\n<h4>4.1 \u5e38\u89c1\u6d41\u91cf\u5f02\u5e38\u7c7b\u578b<\/h4>\n<h5>4.1.1 \u5f02\u5e38\u6d41\u91cf\u7279\u5f81\u77e9\u9635<\/h5>\n<table>\n<tr>\u5f02\u5e38\u7c7b\u578b\u4e0b\u884c\u53d8\u5316\u4e0a\u884c\u53d8\u5316\u5305\u901f\u7387\u5178\u578b\u539f\u56e0<\/tr>\n<tbody>\n<tr>\n<td align=\"left\">CC \u653b\u51fb<\/td>\n<td align=\"left\">\u2191\u2191\u2191<\/td>\n<td align=\"left\">\u2191\u2191<\/td>\n<td align=\"left\">\u6781\u9ad8<\/td>\n<td align=\"left\">HTTP \u6d2a\u6c34\u653b\u51fb<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">DDoS \u653b\u51fb<\/td>\n<td align=\"left\">\u2191\u2191\u2191\u2191<\/td>\n<td align=\"left\">\u2192<\/td>\n<td align=\"left\">\u6781\u9ad8<\/td>\n<td align=\"left\">\u6d41\u91cf\u6df9\u6ca1\u653b\u51fb<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">\u6570\u636e\u6cc4\u9732<\/td>\n<td align=\"left\">\u2192<\/td>\n<td align=\"left\">\u2191\u2191\u2191<\/td>\n<td align=\"left\">\u4e2d\u9ad8<\/td>\n<td align=\"left\">\u654f\u611f\u6570\u636e\u5916\u4f20<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">\u722c\u866b\u5237\u91cf<\/td>\n<td align=\"left\">\u2191\u2191<\/td>\n<td align=\"left\">\u2191\u2191<\/td>\n<td align=\"left\">\u9ad8<\/td>\n<td align=\"left\">\u6076\u610f\u722c\u866b<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">\u914d\u7f6e\u9519\u8bef<\/td>\n<td align=\"left\">\u2192<\/td>\n<td align=\"left\">\u2191<\/td>\n<td align=\"left\">\u6b63\u5e38<\/td>\n<td align=\"left\">\u91cd\u590d\u54cd\u5e94\/\u5faa\u73af<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">\u5907\u4efd\u4efb\u52a1<\/td>\n<td align=\"left\">\u2192<\/td>\n<td align=\"left\">\u2191\u2191<\/td>\n<td align=\"left\">\u4e2d<\/td>\n<td align=\"left\">\u5b9a\u65f6\u5907\u4efd\u5916\u4f20<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">\u540c\u6b65\u5f02\u5e38<\/td>\n<td align=\"left\">\u2191\u2191<\/td>\n<td align=\"left\">\u2191\u2191<\/td>\n<td align=\"left\">\u4e2d<\/td>\n<td align=\"left\">\u6570\u636e\u540c\u6b65\u98ce\u66b4<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr \/>\n<h4>4.2 \u8bca\u65ad\u6d41\u7a0b SOP<\/h4>\n<p>\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510<br \/>\n\u2502              \u6d41\u91cf\u5f02\u5e38\u8bca\u65ad\u6d41\u7a0b\u56fe                          \u2502<br \/>\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518<\/p>\n<p>\u53d1\u73b0\u5f02\u5e38<br \/>\n    \u2502<br \/>\n    \u25bc<br \/>\n\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510<br \/>\n\u2502 <span class=\"token number\">1<\/span>. \u786e\u8ba4\u5f02\u5e38\u7c7b\u578b \u2502 \u2500\u2500\u2192 sar <span class=\"token parameter variable\">-n<\/span> DEV <span class=\"token number\">1<\/span> <span class=\"token number\">10<\/span>&#xff08;\u5b9e\u65f6\u76d1\u6d4b&#xff09;<br \/>\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518<br \/>\n    \u2502<br \/>\n    \u25bc<br \/>\n\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510<br \/>\n\u2502 <span class=\"token number\">2<\/span>. \u5b9a\u4f4d\u6765\u6e90 IP  \u2502 \u2500\u2500\u2192 iftop <span class=\"token parameter variable\">-P<\/span> <span class=\"token parameter variable\">-n<\/span> <span class=\"token parameter variable\">-i<\/span> eth0<br \/>\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518<br \/>\n    \u2502<br \/>\n    \u25bc<br \/>\n\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510<br \/>\n\u2502 <span class=\"token number\">3<\/span>. \u5206\u6790\u8bf7\u6c42\u7279\u5f81 \u2502 \u2500\u2500\u2192 <span class=\"token function\">tail<\/span> <span class=\"token parameter variable\">-f<\/span> \/var\/log\/nginx\/access.log<br \/>\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518<br \/>\n    \u2502<br \/>\n    \u25bc<br \/>\n\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510<br \/>\n\u2502 <span class=\"token number\">4<\/span>. \u786e\u5b9a\u5e94\u5bf9\u7b56\u7565 \u2502 \u2500\u2500\u2192 \u9632\u706b\u5899\/\u9650\u6d41\/\u6269\u5bb9<br \/>\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518<br \/>\n    \u2502<br \/>\n    \u25bc<br \/>\n\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510<br \/>\n\u2502 <span class=\"token number\">5<\/span>. \u5b9e\u65bd\u5e76\u9a8c\u8bc1   \u2502 \u2500\u2500\u2192 \u518d\u6b21\u76d1\u6d4b\u786e\u8ba4\u6062\u590d<br \/>\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518<\/p>\n<hr \/>\n<h4>4.3 \u5b9e\u6218\u6392\u67e5\u547d\u4ee4\u96c6<\/h4>\n<h5>4.3.1 \u5feb\u901f\u8bca\u65ad\u811a\u672c<\/h5>\n<p><span class=\"token shebang important\">#!\/bin\/bash<\/span><br \/>\n<span class=\"token comment\"># \u6d41\u91cf\u5f02\u5e38\u5feb\u901f\u8bca\u65ad\u811a\u672c<\/span><\/p>\n<p><span class=\"token builtin class-name\">echo<\/span> <span class=\"token string\">&#034;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061; \u6d41\u91cf\u5f02\u5e38\u8bca\u65ad\u62a5\u544a &#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#034;<\/span><br \/>\n<span class=\"token builtin class-name\">echo<\/span> <span class=\"token string\">&#034;\u65f6\u95f4&#xff1a;<span class=\"token variable\"><span class=\"token variable\">$(<\/span><span class=\"token function\">date<\/span><span class=\"token variable\">)<\/span><\/span>&#034;<\/span><br \/>\n<span class=\"token builtin class-name\">echo<\/span> <span class=\"token string\">&#034;&#034;<\/span><\/p>\n<p><span class=\"token comment\"># 1. \u5b9e\u65f6\u6d41\u91cf<\/span><br \/>\n<span class=\"token builtin class-name\">echo<\/span> <span class=\"token string\">&#034;\u30101. \u5b9e\u65f6\u6d41\u91cf\u3011&#034;<\/span><br \/>\nsar <span class=\"token parameter variable\">-n<\/span> DEV <span class=\"token number\">1<\/span> <span class=\"token number\">3<\/span> <span class=\"token operator\">|<\/span> <span class=\"token function\">tail<\/span> <span class=\"token parameter variable\">-5<\/span><\/p>\n<p><span class=\"token comment\"># 2. \u8fde\u63a5\u6570\u7edf\u8ba1<\/span><br \/>\n<span class=\"token builtin class-name\">echo<\/span> <span class=\"token string\">&#034;&#034;<\/span><br \/>\n<span class=\"token builtin class-name\">echo<\/span> <span class=\"token string\">&#034;\u30102. TCP \u8fde\u63a5\u7edf\u8ba1\u3011&#034;<\/span><br \/>\n<span class=\"token function\">netstat<\/span> <span class=\"token parameter variable\">-an<\/span> <span class=\"token operator\">|<\/span> <span class=\"token function\">awk<\/span> <span class=\"token string\">&#039;\/^tcp\/ {&#043;&#043;S[$NF]} END {for(a in S) print a, S[a]}&#039;<\/span><\/p>\n<p><span class=\"token comment\"># 3. \u6765\u6e90 IP \u6392\u884c<\/span><br \/>\n<span class=\"token builtin class-name\">echo<\/span> <span class=\"token string\">&#034;&#034;<\/span><br \/>\n<span class=\"token builtin class-name\">echo<\/span> <span class=\"token string\">&#034;\u30103. \u6765\u6e90 IP TOP10\u3011&#034;<\/span><br \/>\n<span class=\"token function\">netstat<\/span> <span class=\"token parameter variable\">-an<\/span> <span class=\"token operator\">|<\/span> <span class=\"token function\">grep<\/span> :80 <span class=\"token operator\">|<\/span> <span class=\"token function\">awk<\/span> <span class=\"token string\">&#039;{print $5}&#039;<\/span> <span class=\"token operator\">|<\/span> <span class=\"token function\">cut<\/span> -d: <span class=\"token parameter variable\">-f1<\/span> <span class=\"token operator\">|<\/span> <span class=\"token function\">sort<\/span> <span class=\"token operator\">|<\/span> <span class=\"token function\">uniq<\/span> <span class=\"token parameter variable\">-c<\/span> <span class=\"token operator\">|<\/span> <span class=\"token function\">sort<\/span> <span class=\"token parameter variable\">-rn<\/span> <span class=\"token operator\">|<\/span> <span class=\"token function\">head<\/span> <span class=\"token parameter variable\">-10<\/span><\/p>\n<p><span class=\"token comment\"># 4. \u9519\u8bef\u7edf\u8ba1<\/span><br \/>\n<span class=\"token builtin class-name\">echo<\/span> <span class=\"token string\">&#034;&#034;<\/span><br \/>\n<span class=\"token builtin class-name\">echo<\/span> <span class=\"token string\">&#034;\u30104. \u7f51\u5361\u9519\u8bef\u7edf\u8ba1\u3011&#034;<\/span><br \/>\n<span class=\"token function\">cat<\/span> \/proc\/net\/dev <span class=\"token operator\">|<\/span> <span class=\"token function\">grep<\/span> eth0 <span class=\"token operator\">|<\/span> <span class=\"token function\">awk<\/span> <span class=\"token string\">&#039;{print &#034;\u4e0b\u884c\u9519\u8bef:&#034;$3, &#034;\u4e0a\u884c\u9519\u8bef:&#034;$10, &#034;\u4e0b\u884c\u4e22\u5f03:&#034;$4, &#034;\u4e0a\u884c\u4e22\u5f03:&#034;$11}&#039;<\/span><\/p>\n<p><span class=\"token builtin class-name\">echo<\/span> <span class=\"token string\">&#034;&#034;<\/span><br \/>\n<span class=\"token builtin class-name\">echo<\/span> <span class=\"token string\">&#034;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#034;<\/span><\/p>\n<h5>4.3.2 \u653b\u51fb\u6d41\u91cf\u8bc6\u522b<\/h5>\n<p><span class=\"token comment\"># \u68c0\u67e5\u5355\u4e00 IP \u9ad8\u9891\u8bf7\u6c42<\/span><br \/>\n<span class=\"token function\">awk<\/span> <span class=\"token string\">&#039;{print $1}&#039;<\/span> \/var\/log\/nginx\/access.log <span class=\"token operator\">|<\/span> <span class=\"token function\">sort<\/span> <span class=\"token operator\">|<\/span> <span class=\"token function\">uniq<\/span> <span class=\"token parameter variable\">-c<\/span> <span class=\"token operator\">|<\/span> <span class=\"token function\">sort<\/span> <span class=\"token parameter variable\">-rn<\/span> <span class=\"token operator\">|<\/span> <span class=\"token function\">head<\/span> <span class=\"token parameter variable\">-20<\/span><\/p>\n<p><span class=\"token comment\"># \u68c0\u67e5\u7279\u5b9a URI \u9ad8\u9891\u8bf7\u6c42<\/span><br \/>\n<span class=\"token function\">awk<\/span> <span class=\"token string\">&#039;{print $7}&#039;<\/span> \/var\/log\/nginx\/access.log <span class=\"token operator\">|<\/span> <span class=\"token function\">sort<\/span> <span class=\"token operator\">|<\/span> <span class=\"token function\">uniq<\/span> <span class=\"token parameter variable\">-c<\/span> <span class=\"token operator\">|<\/span> <span class=\"token function\">sort<\/span> <span class=\"token parameter variable\">-rn<\/span> <span class=\"token operator\">|<\/span> <span class=\"token function\">head<\/span> <span class=\"token parameter variable\">-20<\/span><\/p>\n<p><span class=\"token comment\"># \u68c0\u67e5\u5f02\u5e38 User-Agent<\/span><br \/>\n<span class=\"token function\">awk<\/span> -F<span class=\"token string\">&#039;&#034;&#039;<\/span> <span class=\"token string\">&#039;{print $6}&#039;<\/span> \/var\/log\/nginx\/access.log <span class=\"token operator\">|<\/span> <span class=\"token function\">sort<\/span> <span class=\"token operator\">|<\/span> <span class=\"token function\">uniq<\/span> <span class=\"token parameter variable\">-c<\/span> <span class=\"token operator\">|<\/span> <span class=\"token function\">sort<\/span> <span class=\"token parameter variable\">-rn<\/span> <span class=\"token operator\">|<\/span> <span class=\"token function\">head<\/span> <span class=\"token parameter variable\">-20<\/span><\/p>\n<p><span class=\"token comment\"># \u68c0\u67e5 4xx\/5xx \u9519\u8bef\u7387<\/span><br \/>\n<span class=\"token function\">awk<\/span> <span class=\"token string\">&#039;{print $9}&#039;<\/span> \/var\/log\/nginx\/access.log <span class=\"token operator\">|<\/span> <span class=\"token function\">sort<\/span> <span class=\"token operator\">|<\/span> <span class=\"token function\">uniq<\/span> <span class=\"token parameter variable\">-c<\/span> <span class=\"token operator\">|<\/span> <span class=\"token function\">sort<\/span> <span class=\"token parameter variable\">-rn<\/span><\/p>\n<hr \/>\n<h4>4.4 \u5e94\u6025\u54cd\u5e94\u63aa\u65bd<\/h4>\n<h5>4.4.1 \u4e34\u65f6\u5c01\u7981 IP<\/h5>\n<p><span class=\"token comment\"># \u4f7f\u7528 iptables \u5c01\u7981<\/span><br \/>\niptables <span class=\"token parameter variable\">-A<\/span> INPUT <span class=\"token parameter variable\">-s<\/span> <span class=\"token number\">192.168<\/span>.1.100 <span class=\"token parameter variable\">-j<\/span> DROP<\/p>\n<p><span class=\"token comment\"># \u4f7f\u7528 firewall-cmd&#xff08;CentOS 7&#043;&#xff09;<\/span><br \/>\nfirewall-cmd <span class=\"token parameter variable\">&#8211;permanent<\/span> &#8211;add-rich-rule<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#039;rule family&#061;&#034;ipv4&#034; source address&#061;&#034;192.168.1.100&#034; reject&#039;<\/span><br \/>\nfirewall-cmd <span class=\"token parameter variable\">&#8211;reload<\/span><\/p>\n<p><span class=\"token comment\"># \u4f7f\u7528 Nginx \u9650\u6d41<\/span><br \/>\n<span class=\"token comment\"># \u5728 nginx.conf \u4e2d\u6dfb\u52a0&#xff1a;<\/span><br \/>\nlimit_req_zone <span class=\"token variable\">$binary_remote_addr<\/span> <span class=\"token assign-left variable\">zone<\/span><span class=\"token operator\">&#061;<\/span>one:10m <span class=\"token assign-left variable\">rate<\/span><span class=\"token operator\">&#061;<\/span>10r\/s<span class=\"token punctuation\">;<\/span><br \/>\nlocation \/ <span class=\"token punctuation\">{<\/span><br \/>\n    limit_req <span class=\"token assign-left variable\">zone<\/span><span class=\"token operator\">&#061;<\/span>one <span class=\"token assign-left variable\">burst<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token number\">20<\/span> nodelay<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><\/p>\n<h5>4.4.2 \u5e26\u5bbd\u9650\u5236<\/h5>\n<p><span class=\"token comment\"># \u4f7f\u7528 tc \u547d\u4ee4\u9650\u5236\u5e26\u5bbd<\/span><br \/>\ntc qdisc <span class=\"token function\">add<\/span> dev eth0 root tbf rate 10mbit burst 32kbit latency 400ms<\/p>\n<p><span class=\"token comment\"># \u6062\u590d\u9ed8\u8ba4<\/span><br \/>\ntc qdisc del dev eth0 root<\/p>\n<hr \/>\n<h3>\u4e94\u3001\u5e26\u5bbd\u4f18\u5316\u4e0e\u6210\u672c\u63a7\u5236<\/h3>\n<h4>5.1 \u5e26\u5bbd\u4f18\u5316\u6280\u672f\u6808<\/h4>\n<h5>5.1.1 \u5185\u5bb9\u538b\u7f29<\/h5>\n<p><span class=\"token comment\"># Nginx Gzip \u914d\u7f6e<\/span><br \/>\n<span class=\"token function\">gzip<\/span> on<span class=\"token punctuation\">;<\/span><br \/>\ngzip_vary on<span class=\"token punctuation\">;<\/span><br \/>\ngzip_min_length <span class=\"token number\">1024<\/span><span class=\"token punctuation\">;<\/span><br \/>\ngzip_proxied any<span class=\"token punctuation\">;<\/span><br \/>\ngzip_comp_level <span class=\"token number\">6<\/span><span class=\"token punctuation\">;<\/span><br \/>\ngzip_types text\/plain text\/css text\/xml text\/javascript<br \/>\n           application\/javascript application\/xml&#043;rss<br \/>\n           application\/json application\/xml<span class=\"token punctuation\">;<\/span><\/p>\n<p>\u538b\u7f29\u6548\u679c\u5bf9\u6bd4&#xff1a;<\/p>\n<table>\n<tr>\u6587\u4ef6\u7c7b\u578b\u539f\u59cb\u5927\u5c0fGzip \u540e\u538b\u7f29\u7387<\/tr>\n<tbody>\n<tr>\n<td align=\"left\">HTML<\/td>\n<td align=\"left\">100 KB<\/td>\n<td align=\"left\">25 KB<\/td>\n<td align=\"left\">75%<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">CSS<\/td>\n<td align=\"left\">50 KB<\/td>\n<td align=\"left\">10 KB<\/td>\n<td align=\"left\">80%<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">JavaScript<\/td>\n<td align=\"left\">200 KB<\/td>\n<td align=\"left\">60 KB<\/td>\n<td align=\"left\">70%<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">JSON<\/td>\n<td align=\"left\">80 KB<\/td>\n<td align=\"left\">15 KB<\/td>\n<td align=\"left\">81%<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr \/>\n<h5>5.1.2 \u7f13\u5b58\u7b56\u7565<\/h5>\n<p><span class=\"token comment\"># \u9759\u6001\u8d44\u6e90\u7f13\u5b58<\/span><br \/>\nlocation ~* <span class=\"token punctuation\">\\\\<\/span>.<span class=\"token punctuation\">(<\/span>jpg<span class=\"token operator\">|<\/span>jpeg<span class=\"token operator\">|<\/span>png<span class=\"token operator\">|<\/span>gif<span class=\"token operator\">|<\/span>ico<span class=\"token operator\">|<\/span>css<span class=\"token operator\">|<\/span>js<span class=\"token punctuation\">)<\/span>$ <span class=\"token punctuation\">{<\/span><br \/>\n    expires 30d<span class=\"token punctuation\">;<\/span><br \/>\n    add_header Cache-Control <span class=\"token string\">&#034;public, immutable&#034;<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    access_log off<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><\/p>\n<p><span class=\"token comment\"># \u52a8\u6001\u5185\u5bb9\u7f13\u5b58<\/span><br \/>\nproxy_cache_path \/var\/cache\/nginx <span class=\"token assign-left variable\">levels<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token number\">1<\/span>:2 <span class=\"token assign-left variable\">keys_zone<\/span><span class=\"token operator\">&#061;<\/span>my_cache:10m<span class=\"token punctuation\">;<\/span><br \/>\nlocation \/api\/ <span class=\"token punctuation\">{<\/span><br \/>\n    proxy_cache my_cache<span class=\"token punctuation\">;<\/span><br \/>\n    proxy_cache_valid <span class=\"token number\">200<\/span> 10m<span class=\"token punctuation\">;<\/span><br \/>\n    proxy_cache_valid <span class=\"token number\">404<\/span> 1m<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><\/p>\n<hr \/>\n<h5>5.1.3 CDN \u52a0\u901f<\/h5>\n<p>CDN \u6d41\u91cf\u5bf9\u6bd4&#xff1a;<\/p>\n<table>\n<tr>\u573a\u666f\u6e90\u7ad9\u6d41\u91cfCDN \u6d41\u91cf\u8282\u7701\u6bd4\u4f8b<\/tr>\n<tbody>\n<tr>\n<td align=\"left\">\u65e0 CDN<\/td>\n<td align=\"left\">100 GB<\/td>\n<td align=\"left\">&#8211;<\/td>\n<td align=\"left\">&#8211;<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">\u9759\u6001\u8d44\u6e90 CDN<\/td>\n<td align=\"left\">40 GB<\/td>\n<td align=\"left\">60 GB<\/td>\n<td align=\"left\">60%<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">\u5168\u7ad9 CDN<\/td>\n<td align=\"left\">15 GB<\/td>\n<td align=\"left\">85 GB<\/td>\n<td align=\"left\">85%<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u4e3b\u6d41 CDN \u4ef7\u683c\u53c2\u8003&#xff08;2026 \u5e74&#xff09;&#xff1a;<\/p>\n<table>\n<tr>\u670d\u52a1\u5546\u4ef7\u683c&#xff08;\u5143\/GB&#xff09;\u514d\u8d39\u989d\u5ea6<\/tr>\n<tbody>\n<tr>\n<td align=\"left\">\u963f\u91cc\u4e91 CDN<\/td>\n<td align=\"left\">0.24<\/td>\n<td align=\"left\">10 GB\/\u6708<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">\u817e\u8baf\u4e91 CDN<\/td>\n<td align=\"left\">0.23<\/td>\n<td align=\"left\">10 GB\/\u6708<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">\u4e03\u725b\u4e91 CDN<\/td>\n<td align=\"left\">0.21<\/td>\n<td align=\"left\">10 GB\/\u6708<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">Cloudflare<\/td>\n<td align=\"left\">\u514d\u8d39<\/td>\n<td align=\"left\">\u4e0d\u9650<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr \/>\n<h4>5.2 \u4e91\u5382\u5546\u5e26\u5bbd\u8ba1\u8d39\u6a21\u5f0f<\/h4>\n<h5>5.2.1 \u8ba1\u8d39\u65b9\u5f0f\u5bf9\u6bd4<\/h5>\n<table>\n<tr>\u8ba1\u8d39\u65b9\u5f0f\u9002\u7528\u573a\u666f\u6210\u672c\u4f30\u7b97\u4f18\u70b9\u7f3a\u70b9<\/tr>\n<tbody>\n<tr>\n<td align=\"left\">\u6309\u56fa\u5b9a\u5e26\u5bbd<\/td>\n<td align=\"left\">\u6d41\u91cf\u7a33\u5b9a<\/td>\n<td align=\"left\">100 \u5143\/5Mbps\/\u6708<\/td>\n<td align=\"left\">\u53ef\u9884\u6d4b\u3001unlimited \u6d41\u91cf<\/td>\n<td align=\"left\">\u95f2\u7f6e\u6d6a\u8d39<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">\u6309\u4f7f\u7528\u6d41\u91cf<\/td>\n<td align=\"left\">\u6d41\u91cf\u6ce2\u52a8\u5927<\/td>\n<td align=\"left\">0.8 \u5143\/GB<\/td>\n<td align=\"left\">\u7528\u591a\u5c11\u4ed8\u591a\u5c11<\/td>\n<td align=\"left\">\u7a81\u53d1\u6210\u672c\u9ad8<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">\u6309 95 \u5cf0\u503c<\/td>\n<td align=\"left\">\u5927\u578b\u4f01\u4e1a<\/td>\n<td align=\"left\">\u534f\u5546\u5b9a\u4ef7<\/td>\n<td align=\"left\">\u524a\u5cf0\u586b\u8c37<\/td>\n<td align=\"left\">\u95e8\u69db\u9ad8<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">\u6309\u65e5\u5cf0\u503c\u6708\u5e73\u5747<\/td>\n<td align=\"left\">\u4e2d\u578b\u4f01\u4e1a<\/td>\n<td align=\"left\">\u534f\u5546\u5b9a\u4ef7<\/td>\n<td align=\"left\">\u5e73\u8861\u6210\u672c<\/td>\n<td align=\"left\">\u8ba1\u7b97\u590d\u6742<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h5>5.2.2 \u6210\u672c\u4f18\u5316\u5efa\u8bae<\/h5>\n<p>\u5f53\u524d\u914d\u7f6e\u4f30\u7b97&#xff1a;<br \/>\n\u251c\u2500\u2500 \u5e26\u5bbd&#xff1a;\u5047\u8bbe 5 Mbps<br \/>\n\u251c\u2500\u2500 \u6708\u6d41\u91cf&#xff1a;167.5 GB&#xff08;\u6839\u636e\u76d1\u6d4b\u6570\u636e\u63a8\u7b97&#xff09;<br \/>\n\u251c\u2500\u2500 \u6309\u56fa\u5b9a\u5e26\u5bbd&#xff1a;\u7ea6 100 \u5143\/\u6708<br \/>\n\u2514\u2500\u2500 \u6309\u6d41\u91cf\u8ba1\u8d39&#xff1a;\u7ea6 134 \u5143\/\u6708&#xff08;167.5 \u00d7 0.8&#xff09;<\/p>\n<p>\u4f18\u5316\u5efa\u8bae&#xff1a;<br \/>\n1. \u2705 \u542f\u7528 CDN &#8211; \u9884\u8ba1\u8282\u7701 60% \u6e90\u7ad9\u6d41\u91cf<br \/>\n2. \u2705 \u5f00\u542f Gzip &#8211; \u9884\u8ba1\u51cf\u5c11 70% \u6587\u672c\u4f20\u8f93<br \/>\n3. \u2705 \u914d\u7f6e\u7f13\u5b58 &#8211; \u51cf\u5c11\u91cd\u590d\u8bf7\u6c42<br \/>\n4. \u2705 \u56fe\u7247\u4f18\u5316 &#8211; WebP \u683c\u5f0f\u8282\u7701 30%<br \/>\n5. \u2705 \u61d2\u52a0\u8f7d &#8211; \u51cf\u5c11\u9996\u5c4f\u6d41\u91cf<\/p>\n<hr \/>\n<h3>\u516d\u3001\u81ea\u52a8\u5316\u76d1\u63a7\u65b9\u6848\u642d\u5efa<\/h3>\n<h4>6.1 \u57fa\u7840\u76d1\u63a7\u811a\u672c<\/h4>\n<p><span class=\"token shebang important\">#!\/bin\/bash<\/span><br \/>\n<span class=\"token comment\"># \/usr\/local\/bin\/bandwidth_monitor.sh<\/span><\/p>\n<p><span class=\"token comment\"># \u914d\u7f6e<\/span><br \/>\n<span class=\"token assign-left variable\">ETH<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;eth0&#034;<\/span><br \/>\n<span class=\"token assign-left variable\">THRESHOLD_RX<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token number\">10485760<\/span>    <span class=\"token comment\"># 10 MB\/s<\/span><br \/>\n<span class=\"token assign-left variable\">THRESHOLD_TX<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token number\">10485760<\/span>    <span class=\"token comment\"># 10 MB\/s<\/span><br \/>\n<span class=\"token assign-left variable\">LOG_FILE<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;\/var\/log\/bandwidth.log&#034;<\/span><br \/>\n<span class=\"token assign-left variable\">ALERT_EMAIL<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;admin&#064;example.com&#034;<\/span><\/p>\n<p><span class=\"token comment\"># \u83b7\u53d6\u6d41\u91cf<\/span><br \/>\n<span class=\"token assign-left variable\">RX_BYTES<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token variable\"><span class=\"token variable\">$(<\/span><span class=\"token function\">cat<\/span> \/sys\/class\/net\/$ETH\/statistics\/rx_bytes<span class=\"token variable\">)<\/span><\/span><br \/>\n<span class=\"token assign-left variable\">TX_BYTES<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token variable\"><span class=\"token variable\">$(<\/span><span class=\"token function\">cat<\/span> \/sys\/class\/net\/$ETH\/statistics\/tx_bytes<span class=\"token variable\">)<\/span><\/span><\/p>\n<p><span class=\"token comment\"># \u7b49\u5f85 1 \u79d2\u518d\u6b21\u83b7\u53d6<\/span><br \/>\n<span class=\"token function\">sleep<\/span> <span class=\"token number\">1<\/span><br \/>\n<span class=\"token assign-left variable\">RX_BYTES2<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token variable\"><span class=\"token variable\">$(<\/span><span class=\"token function\">cat<\/span> \/sys\/class\/net\/$ETH\/statistics\/rx_bytes<span class=\"token variable\">)<\/span><\/span><br \/>\n<span class=\"token assign-left variable\">TX_BYTES2<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token variable\"><span class=\"token variable\">$(<\/span><span class=\"token function\">cat<\/span> \/sys\/class\/net\/$ETH\/statistics\/tx_bytes<span class=\"token variable\">)<\/span><\/span><\/p>\n<p><span class=\"token comment\"># \u8ba1\u7b97\u901f\u7387<\/span><br \/>\n<span class=\"token assign-left variable\">RX_RATE<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token variable\"><span class=\"token variable\">$((<\/span>RX_BYTES2 <span class=\"token operator\">&#8211;<\/span> RX_BYTES<span class=\"token variable\">))<\/span><\/span><br \/>\n<span class=\"token assign-left variable\">TX_RATE<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token variable\"><span class=\"token variable\">$((<\/span>TX_BYTES2 <span class=\"token operator\">&#8211;<\/span> TX_BYTES<span class=\"token variable\">))<\/span><\/span><\/p>\n<p><span class=\"token comment\"># \u8bb0\u5f55\u65e5\u5fd7<\/span><br \/>\n<span class=\"token builtin class-name\">echo<\/span> <span class=\"token string\">&#034;<span class=\"token variable\"><span class=\"token variable\">$(<\/span><span class=\"token function\">date<\/span><span class=\"token variable\">)<\/span><\/span> RX: <span class=\"token variable\">$RX_RATE<\/span> bytes\/s, TX: <span class=\"token variable\">$TX_RATE<\/span> bytes\/s&#034;<\/span> <span class=\"token operator\">&gt;&gt;<\/span> <span class=\"token variable\">$LOG_FILE<\/span><\/p>\n<p><span class=\"token comment\"># \u544a\u8b66\u5224\u65ad<\/span><br \/>\n<span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">[<\/span> <span class=\"token variable\">$RX_RATE<\/span> <span class=\"token parameter variable\">-gt<\/span> <span class=\"token variable\">$THRESHOLD_RX<\/span> <span class=\"token punctuation\">]<\/span> <span class=\"token operator\">||<\/span> <span class=\"token punctuation\">[<\/span> <span class=\"token variable\">$TX_RATE<\/span> <span class=\"token parameter variable\">-gt<\/span> <span class=\"token variable\">$THRESHOLD_TX<\/span> <span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">;<\/span> <span class=\"token keyword\">then<\/span><br \/>\n    <span class=\"token builtin class-name\">echo<\/span> <span class=\"token string\">&#034;\u26a0\ufe0f \u5e26\u5bbd\u544a\u8b66&#xff01;RX: <span class=\"token variable\">$RX_RATE<\/span>, TX: <span class=\"token variable\">$TX_RATE<\/span>&#034;<\/span> <span class=\"token operator\">|<\/span> mail <span class=\"token parameter variable\">-s<\/span> <span class=\"token string\">&#034;\u5e26\u5bbd\u76d1\u63a7\u544a\u8b66&#034;<\/span> <span class=\"token variable\">$ALERT_EMAIL<\/span><br \/>\n    logger <span class=\"token string\">&#034;\u5e26\u5bbd\u544a\u8b66&#xff1a;RX&#061;<span class=\"token variable\">$RX_RATE<\/span>, TX&#061;<span class=\"token variable\">$TX_RATE<\/span>&#034;<\/span><br \/>\n<span class=\"token keyword\">fi<\/span><\/p>\n<hr \/>\n<h4>6.2 \u5b9a\u65f6\u4efb\u52a1\u914d\u7f6e<\/h4>\n<p><span class=\"token comment\"># \u6dfb\u52a0\u5230 crontab<\/span><br \/>\n<span class=\"token function\">crontab<\/span> <span class=\"token parameter variable\">-e<\/span><\/p>\n<p><span class=\"token comment\"># \u6bcf\u5206\u949f\u6267\u884c\u4e00\u6b21\u76d1\u63a7<\/span><br \/>\n* * * * * \/usr\/local\/bin\/bandwidth_monitor.sh<\/p>\n<p><span class=\"token comment\"># \u6bcf\u5929\u751f\u6210\u6d41\u91cf\u62a5\u544a<\/span><br \/>\n<span class=\"token number\">0<\/span> <span class=\"token number\">23<\/span> * * * \/usr\/local\/bin\/daily_bandwidth_report.sh<\/p>\n<hr \/>\n<h4>6.3 Grafana &#043; Prometheus \u76d1\u63a7\u65b9\u6848<\/h4>\n<h5>6.3.1 \u5b89\u88c5 Node Exporter<\/h5>\n<p><span class=\"token comment\"># \u4e0b\u8f7d<\/span><br \/>\n<span class=\"token function\">wget<\/span> https:\/\/github.com\/prometheus\/node_exporter\/releases\/download\/v1.6.1\/node_exporter-1.6.1.linux-amd64.tar.gz<br \/>\n<span class=\"token function\">tar<\/span> xvfz node_exporter-*.tar.gz<br \/>\n<span class=\"token builtin class-name\">cd<\/span> node_exporter-*\/<\/p>\n<p><span class=\"token comment\"># \u542f\u52a8<\/span><br \/>\n.\/node_exporter <span class=\"token operator\">&amp;<\/span><\/p>\n<p><span class=\"token comment\"># systemd \u670d\u52a1<\/span><br \/>\n<span class=\"token function\">cat<\/span> <span class=\"token operator\">&gt;<\/span> \/etc\/systemd\/system\/node_exporter.service <span class=\"token operator\">&lt;&lt;<\/span><span class=\"token string\">EOF<br \/>\n[Unit]<br \/>\nDescription&#061;Node Exporter<br \/>\nAfter&#061;network.target<\/p>\n<p>[Service]<br \/>\nType&#061;simple<br \/>\nExecStart&#061;\/usr\/local\/bin\/node_exporter<\/p>\n<p>[Install]<br \/>\nWantedBy&#061;multi-user.target<br \/>\nEOF<\/span><\/p>\n<p>systemctl <span class=\"token builtin class-name\">enable<\/span> node_exporter<br \/>\nsystemctl start node_exporter<\/p>\n<h5>6.3.2 Prometheus \u914d\u7f6e<\/h5>\n<p><span class=\"token comment\"># prometheus.yml<\/span><br \/>\n<span class=\"token key atrule\">scrape_configs<\/span><span class=\"token punctuation\">:<\/span><br \/>\n  <span class=\"token punctuation\">&#8211;<\/span> <span class=\"token key atrule\">job_name<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#039;node&#039;<\/span><br \/>\n    <span class=\"token key atrule\">static_configs<\/span><span class=\"token punctuation\">:<\/span><br \/>\n      <span class=\"token punctuation\">&#8211;<\/span> <span class=\"token key atrule\">targets<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token string\">&#039;localhost:9100&#039;<\/span><span class=\"token punctuation\">]<\/span><br \/>\n    <span class=\"token key atrule\">metrics_path<\/span><span class=\"token punctuation\">:<\/span> \/metrics<\/p>\n<h5>6.3.3 Grafana \u4eea\u8868\u76d8<\/h5>\n<p>\u63a8\u8350\u5bfc\u5165\u4eea\u8868\u76d8 ID&#xff1a;<\/p>\n<ul>\n<li>1860 &#8211; Node Exporter Full<\/li>\n<li>10408 &#8211; Linux Server Metrics<\/li>\n<li>13659 &#8211; Network Traffic Dashboard<\/li>\n<\/ul>\n<hr \/>\n<h3>\u4e03\u3001\u9644\u5f55&#xff1a;\u547d\u4ee4\u901f\u67e5\u624b\u518c<\/h3>\n<h4>7.1 \u6d41\u91cf\u76d1\u6d4b\u547d\u4ee4\u901f\u67e5<\/h4>\n<table>\n<tr>\u547d\u4ee4\u529f\u80fd\u793a\u4f8b<\/tr>\n<tbody>\n<tr>\n<td align=\"left\">cat \/proc\/net\/dev<\/td>\n<td align=\"left\">\u67e5\u770b\u7f51\u5361\u7edf\u8ba1<\/td>\n<td align=\"left\">cat \/proc\/net\/dev<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">sar -n DEV<\/td>\n<td align=\"left\">\u5386\u53f2\u6d41\u91cf\u7edf\u8ba1<\/td>\n<td align=\"left\">sar -n DEV 1 10<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">iftop<\/td>\n<td align=\"left\">\u5b9e\u65f6\u6d41\u91cf\u6392\u884c<\/td>\n<td align=\"left\">iftop -P -n -i eth0<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">nethogs<\/td>\n<td align=\"left\">\u8fdb\u7a0b\u6d41\u91cf\u7edf\u8ba1<\/td>\n<td align=\"left\">nethogs eth0<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">vnstat<\/td>\n<td align=\"left\">\u6d41\u91cf\u5386\u53f2\u8bb0\u5f55<\/td>\n<td align=\"left\">vnstat -d<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">iptraf-ng<\/td>\n<td align=\"left\">\u7efc\u5408\u7f51\u7edc\u76d1\u63a7<\/td>\n<td align=\"left\">iptraf-ng<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">watch<\/td>\n<td align=\"left\">\u6301\u7eed\u76d1\u63a7<\/td>\n<td align=\"left\">watch -n 1 &#039;cat \/sys\/class\/net\/eth0\/statistics\/tx_bytes&#039;<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr \/>\n<h4>7.2 \u6545\u969c\u6392\u67e5\u547d\u4ee4\u901f\u67e5<\/h4>\n<table>\n<tr>\u547d\u4ee4\u529f\u80fd\u793a\u4f8b<\/tr>\n<tbody>\n<tr>\n<td align=\"left\">netstat -an<\/td>\n<td align=\"left\">\u67e5\u770b\u8fde\u63a5<\/td>\n<td align=\"left\">&#096;netstat -an<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">ss -s<\/td>\n<td align=\"left\">\u8fde\u63a5\u7edf\u8ba1<\/td>\n<td align=\"left\">ss -s<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">tcpdump<\/td>\n<td align=\"left\">\u6293\u5305\u5206\u6790<\/td>\n<td align=\"left\">tcpdump -i eth0 port 80<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">mtr<\/td>\n<td align=\"left\">\u8def\u7531\u8ffd\u8e2a<\/td>\n<td align=\"left\">mtr www.example.com<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">ping<\/td>\n<td align=\"left\">\u8fde\u901a\u6027\u6d4b\u8bd5<\/td>\n<td align=\"left\">ping -c 4 8.8.8.8<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">traceroute<\/td>\n<td align=\"left\">\u8def\u5f84\u8ffd\u8e2a<\/td>\n<td align=\"left\">traceroute www.example.com<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr \/>\n<h4>7.3 \u65e5\u5fd7\u5206\u6790\u547d\u4ee4\u901f\u67e5<\/h4>\n<table>\n<tr>\u547d\u4ee4\u529f\u80fd\u793a\u4f8b<\/tr>\n<tbody>\n<tr>\n<td align=\"left\">tail -f<\/td>\n<td align=\"left\">\u5b9e\u65f6\u67e5\u770b\u65e5\u5fd7<\/td>\n<td align=\"left\">tail -f \/var\/log\/nginx\/access.log<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">awk<\/td>\n<td align=\"left\">\u65e5\u5fd7\u5206\u6790<\/td>\n<td align=\"left\">&#096;awk \u2018{print $1}\u2019 access.log<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">grep<\/td>\n<td align=\"left\">\u65e5\u5fd7\u8fc7\u6ee4<\/td>\n<td align=\"left\">grep &#034;404&#034; access.log<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">goaccess<\/td>\n<td align=\"left\">\u65e5\u5fd7\u53ef\u89c6\u5316<\/td>\n<td align=\"left\">goaccess access.log -o report.html<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr \/>\n<h3>\u603b\u7ed3<\/h3>\n<p>\u672c\u6587\u4ece\u7406\u8bba\u57fa\u7840\u5230\u751f\u4ea7\u5b9e\u8df5&#xff0c;\u5168\u9762\u8bb2\u89e3\u4e86\u670d\u52a1\u5668\u6d41\u91cf\u76d1\u63a7\u7684\u5b8c\u6574\u77e5\u8bc6\u4f53\u7cfb&#xff1a;<\/p>\n<h4>\u6838\u5fc3\u8981\u70b9\u56de\u987e<\/h4>\n<li>\u6d41\u91cf\u672c\u8d28 &#061; \u6570\u636e\u5305\u4f20\u8f93\u603b\u91cf&#xff0c;\u533a\u5206\u5b58\u50a8\u5355\u4f4d&#xff08;Byte&#xff09;\u548c\u4f20\u8f93\u5355\u4f4d&#xff08;bit&#xff09;<\/li>\n<li>\u4e0a\u4e0b\u884c\u542b\u4e49 &#061; \u4e0b\u884c\u662f\u63a5\u6536&#xff08;\u7528\u6237\u8bf7\u6c42&#xff09;&#xff0c;\u4e0a\u884c\u662f\u53d1\u9001&#xff08;\u670d\u52a1\u5668\u54cd\u5e94&#xff09;<\/li>\n<li>\u76d1\u6d4b\u5de5\u5177\u94fe &#061; \/proc&#xff08;\u5185\u6838\u7ea7&#xff09;\u2192 sar&#xff08;\u7cfb\u7edf\u7ea7&#xff09;\u2192 iftop\/nethogs&#xff08;\u5e94\u7528\u7ea7&#xff09;<\/li>\n<li>\u5f02\u5e38\u8bca\u65ad &#061; \u6d41\u91cf\u76d1\u6d4b \u2192 \u6765\u6e90\u5b9a\u4f4d \u2192 \u65e5\u5fd7\u5206\u6790 \u2192 \u5e94\u6025\u5904\u7406<\/li>\n<li>\u4f18\u5316\u65b9\u5411 &#061; \u538b\u7f29 &#043; \u7f13\u5b58 &#043; CDN &#043; \u5408\u7406\u8ba1\u8d39\u6a21\u5f0f<\/li>\n<li>\u81ea\u52a8\u5316\u76d1\u63a7 &#061; \u811a\u672c &#043; \u5b9a\u65f6\u4efb\u52a1 &#043; Prometheus\/Grafana<\/li>\n<h4>\u5efa\u8bae<\/h4>\n<ul>\n<li>\u90e8\u7f72\u5b9e\u65f6\u6d41\u91cf\u76d1\u63a7\u811a\u672c<\/li>\n<li>\u914d\u7f6e\u5e26\u5bbd\u544a\u8b66\u9608\u503c&#xff08;\u5efa\u8bae 70%&#xff09;<\/li>\n<li>\u542f\u7528 Gzip \u538b\u7f29<\/li>\n<li>\u8bc4\u4f30 CDN \u63a5\u5165\u5fc5\u8981\u6027<\/li>\n<li>\u5efa\u7acb\u6d41\u91cf\u5f02\u5e38\u5e94\u6025\u54cd\u5e94\u6d41\u7a0b<\/li>\n<\/ul>\n<hr \/>\n","protected":false},"excerpt":{"rendered":"<p>\u670d\u52a1\u5668\u6d41\u91cf\u76d1\u63a7\u4e0e\u6027\u80fd\u4f18\u5316\u5b9e\u6218\u6307\u5357&#xff1a;\u4ece\u539f\u7406\u5230\u751f\u4ea7\u73af\u5883\u5168\u65b9\u4f4d\u89e3\u6790 \u57fa\u4e8e\u771f\u5b9e\u751f\u4ea7\u73af\u5883\u7684\u6df1\u5ea6\u6280\u672f\u6587\u6863&#xff0c;\u6db5\u76d6\u6d41\u91cf\u76d1\u6d4b\u3001\u5f02\u5e38\u8bca\u65ad\u3001\u5e26\u5bbd\u4f18\u5316\u3001\u5b89\u5168\u9632\u5fa1\u56db\u5927\u6838\u5fc3\u6a21\u5757 \u6587\u7ae0\u76ee\u5f55\u670d\u52a1\u5668\u6d41\u91cf\u76d1\u63a7\u4e0e\u6027\u80fd\u4f18\u5316\u5b9e\u6218\u6307\u5357&#xff1a;\u4ece\u539f\u7406\u5230\u751f\u4ea7\u73af\u5883\u5168\u65b9\u4f4d\u89e3\u6790\u4e00\u3001\u6d41\u91cf\u57fa\u7840\u6982\u5ff5\u8be6\u89e31.1 \u7f51\u7edc\u6d41\u91cf\u7684\u7269\u7406\u672c\u8d281.2 \u6d41\u91cf\u8ba1\u91cf\u5355\u4f4d\u6df1\u5ea6\u89e3\u67901.2.1 \u5b58\u50a8\u5355\u4f4d vs \u4f20\u8f93\u5355\u4f4d1.2.2 \u4e91\u670d\u52a1\u5668\u5e26\u5bbd\u89c4\u683c\u5bf9\u7167\u88681.3 \u4e0a\u884c\u6d41\u91cf\u4e0e\u4e0b\u884c\u6d41\u91cf\u7684\u4e1a\u52a1\u542b\u4e491.3.1 \u4e0d\u540c\u4e1a\u52a1\u7c7b\u578b\u7684\u6d41\u91cf\u7279\u5f811.3<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[9417,56,43,78],"topic":[],"class_list":["post-84158","post","type-post","status-publish","format-standard","hentry","category-server","tag-9417","tag-56","tag-43","tag-78"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u670d\u52a1\u5668\u6d41\u91cf\u76d1\u63a7\u4e0e\u6027\u80fd\u4f18\u5316\u5b9e\u6218 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.wsisp.com\/helps\/84158.html\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u670d\u52a1\u5668\u6d41\u91cf\u76d1\u63a7\u4e0e\u6027\u80fd\u4f18\u5316\u5b9e\u6218 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\" \/>\n<meta property=\"og:description\" content=\"\u670d\u52a1\u5668\u6d41\u91cf\u76d1\u63a7\u4e0e\u6027\u80fd\u4f18\u5316\u5b9e\u6218\u6307\u5357&#xff1a;\u4ece\u539f\u7406\u5230\u751f\u4ea7\u73af\u5883\u5168\u65b9\u4f4d\u89e3\u6790 \u57fa\u4e8e\u771f\u5b9e\u751f\u4ea7\u73af\u5883\u7684\u6df1\u5ea6\u6280\u672f\u6587\u6863&#xff0c;\u6db5\u76d6\u6d41\u91cf\u76d1\u6d4b\u3001\u5f02\u5e38\u8bca\u65ad\u3001\u5e26\u5bbd\u4f18\u5316\u3001\u5b89\u5168\u9632\u5fa1\u56db\u5927\u6838\u5fc3\u6a21\u5757 \u6587\u7ae0\u76ee\u5f55\u670d\u52a1\u5668\u6d41\u91cf\u76d1\u63a7\u4e0e\u6027\u80fd\u4f18\u5316\u5b9e\u6218\u6307\u5357&#xff1a;\u4ece\u539f\u7406\u5230\u751f\u4ea7\u73af\u5883\u5168\u65b9\u4f4d\u89e3\u6790\u4e00\u3001\u6d41\u91cf\u57fa\u7840\u6982\u5ff5\u8be6\u89e31.1 \u7f51\u7edc\u6d41\u91cf\u7684\u7269\u7406\u672c\u8d281.2 \u6d41\u91cf\u8ba1\u91cf\u5355\u4f4d\u6df1\u5ea6\u89e3\u67901.2.1 \u5b58\u50a8\u5355\u4f4d vs \u4f20\u8f93\u5355\u4f4d1.2.2 \u4e91\u670d\u52a1\u5668\u5e26\u5bbd\u89c4\u683c\u5bf9\u7167\u88681.3 \u4e0a\u884c\u6d41\u91cf\u4e0e\u4e0b\u884c\u6d41\u91cf\u7684\u4e1a\u52a1\u542b\u4e491.3.1 \u4e0d\u540c\u4e1a\u52a1\u7c7b\u578b\u7684\u6d41\u91cf\u7279\u5f811.3\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.wsisp.com\/helps\/84158.html\" \/>\n<meta property=\"og:site_name\" content=\"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\" \/>\n<meta property=\"article:published_time\" content=\"2026-07-26T00:49:01+00:00\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/84158.html\",\"url\":\"https:\/\/www.wsisp.com\/helps\/84158.html\",\"name\":\"\u670d\u52a1\u5668\u6d41\u91cf\u76d1\u63a7\u4e0e\u6027\u80fd\u4f18\u5316\u5b9e\u6218 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\",\"isPartOf\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/#website\"},\"datePublished\":\"2026-07-26T00:49:01+00:00\",\"dateModified\":\"2026-07-26T00:49:01+00:00\",\"author\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/84158.html#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.wsisp.com\/helps\/84158.html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/84158.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.wsisp.com\/helps\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u670d\u52a1\u5668\u6d41\u91cf\u76d1\u63a7\u4e0e\u6027\u80fd\u4f18\u5316\u5b9e\u6218\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#website\",\"url\":\"https:\/\/www.wsisp.com\/helps\/\",\"name\":\"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\",\"description\":\"\u9999\u6e2f\u670d\u52a1\u5668_\u9999\u6e2f\u4e91\u670d\u52a1\u5668\u8d44\u8baf_\u670d\u52a1\u5668\u5e2e\u52a9\u6587\u6863_\u670d\u52a1\u5668\u6559\u7a0b\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.wsisp.com\/helps\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery\",\"contentUrl\":\"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery\",\"caption\":\"admin\"},\"sameAs\":[\"http:\/\/wp.wsisp.com\"],\"url\":\"https:\/\/www.wsisp.com\/helps\/author\/admin\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u670d\u52a1\u5668\u6d41\u91cf\u76d1\u63a7\u4e0e\u6027\u80fd\u4f18\u5316\u5b9e\u6218 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.wsisp.com\/helps\/84158.html","og_locale":"zh_CN","og_type":"article","og_title":"\u670d\u52a1\u5668\u6d41\u91cf\u76d1\u63a7\u4e0e\u6027\u80fd\u4f18\u5316\u5b9e\u6218 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","og_description":"\u670d\u52a1\u5668\u6d41\u91cf\u76d1\u63a7\u4e0e\u6027\u80fd\u4f18\u5316\u5b9e\u6218\u6307\u5357&#xff1a;\u4ece\u539f\u7406\u5230\u751f\u4ea7\u73af\u5883\u5168\u65b9\u4f4d\u89e3\u6790 \u57fa\u4e8e\u771f\u5b9e\u751f\u4ea7\u73af\u5883\u7684\u6df1\u5ea6\u6280\u672f\u6587\u6863&#xff0c;\u6db5\u76d6\u6d41\u91cf\u76d1\u6d4b\u3001\u5f02\u5e38\u8bca\u65ad\u3001\u5e26\u5bbd\u4f18\u5316\u3001\u5b89\u5168\u9632\u5fa1\u56db\u5927\u6838\u5fc3\u6a21\u5757 \u6587\u7ae0\u76ee\u5f55\u670d\u52a1\u5668\u6d41\u91cf\u76d1\u63a7\u4e0e\u6027\u80fd\u4f18\u5316\u5b9e\u6218\u6307\u5357&#xff1a;\u4ece\u539f\u7406\u5230\u751f\u4ea7\u73af\u5883\u5168\u65b9\u4f4d\u89e3\u6790\u4e00\u3001\u6d41\u91cf\u57fa\u7840\u6982\u5ff5\u8be6\u89e31.1 \u7f51\u7edc\u6d41\u91cf\u7684\u7269\u7406\u672c\u8d281.2 \u6d41\u91cf\u8ba1\u91cf\u5355\u4f4d\u6df1\u5ea6\u89e3\u67901.2.1 \u5b58\u50a8\u5355\u4f4d vs \u4f20\u8f93\u5355\u4f4d1.2.2 \u4e91\u670d\u52a1\u5668\u5e26\u5bbd\u89c4\u683c\u5bf9\u7167\u88681.3 \u4e0a\u884c\u6d41\u91cf\u4e0e\u4e0b\u884c\u6d41\u91cf\u7684\u4e1a\u52a1\u542b\u4e491.3.1 \u4e0d\u540c\u4e1a\u52a1\u7c7b\u578b\u7684\u6d41\u91cf\u7279\u5f811.3","og_url":"https:\/\/www.wsisp.com\/helps\/84158.html","og_site_name":"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","article_published_time":"2026-07-26T00:49:01+00:00","author":"admin","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"admin","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"7 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.wsisp.com\/helps\/84158.html","url":"https:\/\/www.wsisp.com\/helps\/84158.html","name":"\u670d\u52a1\u5668\u6d41\u91cf\u76d1\u63a7\u4e0e\u6027\u80fd\u4f18\u5316\u5b9e\u6218 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","isPartOf":{"@id":"https:\/\/www.wsisp.com\/helps\/#website"},"datePublished":"2026-07-26T00:49:01+00:00","dateModified":"2026-07-26T00:49:01+00:00","author":{"@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41"},"breadcrumb":{"@id":"https:\/\/www.wsisp.com\/helps\/84158.html#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.wsisp.com\/helps\/84158.html"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.wsisp.com\/helps\/84158.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.wsisp.com\/helps"},{"@type":"ListItem","position":2,"name":"\u670d\u52a1\u5668\u6d41\u91cf\u76d1\u63a7\u4e0e\u6027\u80fd\u4f18\u5316\u5b9e\u6218"}]},{"@type":"WebSite","@id":"https:\/\/www.wsisp.com\/helps\/#website","url":"https:\/\/www.wsisp.com\/helps\/","name":"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","description":"\u9999\u6e2f\u670d\u52a1\u5668_\u9999\u6e2f\u4e91\u670d\u52a1\u5668\u8d44\u8baf_\u670d\u52a1\u5668\u5e2e\u52a9\u6587\u6863_\u670d\u52a1\u5668\u6559\u7a0b","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.wsisp.com\/helps\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41","name":"admin","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/image\/","url":"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery","contentUrl":"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery","caption":"admin"},"sameAs":["http:\/\/wp.wsisp.com"],"url":"https:\/\/www.wsisp.com\/helps\/author\/admin"}]}},"_links":{"self":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts\/84158","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/comments?post=84158"}],"version-history":[{"count":0,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts\/84158\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/media?parent=84158"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/categories?post=84158"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/tags?post=84158"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/topic?post=84158"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}