mirror of
https://gitee.com/270580156/weiyu.git
synced 2026-05-18 05:08:02 +00:00
1 line
38 KiB
JavaScript
1 line
38 KiB
JavaScript
"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[6542],{3244:(n,e,l)=>{l.r(e),l.d(e,{assets:()=>c,contentTitle:()=>h,default:()=>t,frontMatter:()=>d,metadata:()=>i,toc:()=>x});const i=JSON.parse('{"id":"loadtest","title":"\u538b\u529b\u6d4b\u8bd5\u65b9\u6848","description":"1. \u6d4b\u8bd5\u76ee\u6807","source":"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/loadtest.md","sourceDirName":".","slug":"/loadtest","permalink":"/docs/zh-CN/docs/loadtest","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/loadtest.md","tags":[],"version":"current","sidebarPosition":10,"frontMatter":{"sidebar_label":"\u538b\u529b\u6d4b\u8bd5","sidebar_position":10},"sidebar":"tutorialSidebar","previous":{"title":"\u5e38\u89c1\u95ee\u9898","permalink":"/docs/zh-CN/docs/faq"},"next":{"title":"\u8d39\u7528\u76f8\u5173","permalink":"/docs/zh-CN/docs/payment"}}');var s=l(5723),r=l(6246);const d={sidebar_label:"\u538b\u529b\u6d4b\u8bd5",sidebar_position:10},h="\u538b\u529b\u6d4b\u8bd5\u65b9\u6848",c={},x=[{value:"1. \u6d4b\u8bd5\u76ee\u6807",id:"1-\u6d4b\u8bd5\u76ee\u6807",level:2},{value:"2. \u6d4b\u8bd5\u73af\u5883",id:"2-\u6d4b\u8bd5\u73af\u5883",level:2},{value:"2.1 \u786c\u4ef6\u73af\u5883",id:"21-\u786c\u4ef6\u73af\u5883",level:3},{value:"2.2 \u8f6f\u4ef6\u73af\u5883",id:"22-\u8f6f\u4ef6\u73af\u5883",level:3},{value:"2.3 \u6d4b\u8bd5\u7f51\u7edc\u73af\u5883",id:"23-\u6d4b\u8bd5\u7f51\u7edc\u73af\u5883",level:3},{value:"3. \u6d4b\u8bd5\u8303\u56f4",id:"3-\u6d4b\u8bd5\u8303\u56f4",level:2},{value:"3.1 API\u63a5\u53e3\u6d4b\u8bd5",id:"31-api\u63a5\u53e3\u6d4b\u8bd5",level:3},{value:"3.2 \u6838\u5fc3\u529f\u80fd\u6d4b\u8bd5",id:"32-\u6838\u5fc3\u529f\u80fd\u6d4b\u8bd5",level:3},{value:"3.3 \u540e\u53f0\u4efb\u52a1\u6d4b\u8bd5",id:"33-\u540e\u53f0\u4efb\u52a1\u6d4b\u8bd5",level:3},{value:"4. \u6d4b\u8bd5\u6307\u6807",id:"4-\u6d4b\u8bd5\u6307\u6807",level:2},{value:"4.1 \u5173\u952e\u6027\u80fd\u6307\u6807",id:"41-\u5173\u952e\u6027\u80fd\u6307\u6807",level:3},{value:"4.2 \u4e1a\u52a1\u6307\u6807",id:"42-\u4e1a\u52a1\u6307\u6807",level:3},{value:"5. \u6d4b\u8bd5\u573a\u666f\u8bbe\u8ba1",id:"5-\u6d4b\u8bd5\u573a\u666f\u8bbe\u8ba1",level:2},{value:"5.1 \u57fa\u7840API\u538b\u6d4b",id:"51-\u57fa\u7840api\u538b\u6d4b",level:3},{value:"5.1.1 \u767b\u5f55\u8ba4\u8bc1\u6027\u80fd\u6d4b\u8bd5",id:"511-\u767b\u5f55\u8ba4\u8bc1\u6027\u80fd\u6d4b\u8bd5",level:4},{value:"5.1.2 \u6d88\u606f\u53d1\u9001\u6027\u80fd\u6d4b\u8bd5",id:"512-\u6d88\u606f\u53d1\u9001\u6027\u80fd\u6d4b\u8bd5",level:4},{value:"5.2 \u5b9e\u65f6\u901a\u4fe1\u538b\u6d4b",id:"52-\u5b9e\u65f6\u901a\u4fe1\u538b\u6d4b",level:3},{value:"5.2.1 WebSocket\u8fde\u63a5\u6d4b\u8bd5",id:"521-websocket\u8fde\u63a5\u6d4b\u8bd5",level:4},{value:"5.2.2 \u9ad8\u5e76\u53d1\u7fa4\u804a\u6d4b\u8bd5",id:"522-\u9ad8\u5e76\u53d1\u7fa4\u804a\u6d4b\u8bd5",level:4},{value:"5.3 \u5ba2\u670d\u7cfb\u7edf\u538b\u6d4b",id:"53-\u5ba2\u670d\u7cfb\u7edf\u538b\u6d4b",level:3},{value:"5.3.1 \u5ba2\u670d\u5206\u914d\u6027\u80fd\u6d4b\u8bd5",id:"531-\u5ba2\u670d\u5206\u914d\u6027\u80fd\u6d4b\u8bd5",level:4},{value:"5.3.2 \u5ba2\u670d\u5de5\u4f5c\u53f0\u64cd\u4f5c\u6d4b\u8bd5",id:"532-\u5ba2\u670d\u5de5\u4f5c\u53f0\u64cd\u4f5c\u6d4b\u8bd5",level:4},{value:"5.4 AI\u7cfb\u7edf\u538b\u6d4b",id:"54-ai\u7cfb\u7edf\u538b\u6d4b",level:3},{value:"5.4.1 AI\u95ee\u7b54\u6027\u80fd\u6d4b\u8bd5",id:"541-ai\u95ee\u7b54\u6027\u80fd\u6d4b\u8bd5",level:4},{value:"5.4.2 \u77e5\u8bc6\u5e93\u67e5\u8be2\u6d4b\u8bd5",id:"542-\u77e5\u8bc6\u5e93\u67e5\u8be2\u6d4b\u8bd5",level:4},{value:"5.5 \u6df7\u5408\u573a\u666f\u6d4b\u8bd5",id:"55-\u6df7\u5408\u573a\u666f\u6d4b\u8bd5",level:3},{value:"5.5.1 \u5168\u529f\u80fd\u6df7\u5408\u538b\u6d4b",id:"551-\u5168\u529f\u80fd\u6df7\u5408\u538b\u6d4b",level:4},{value:"6. \u6d4b\u8bd5\u5de5\u5177\u4e0e\u811a\u672c",id:"6-\u6d4b\u8bd5\u5de5\u5177\u4e0e\u811a\u672c",level:2},{value:"6.1 JMeter\u6d4b\u8bd5\u8ba1\u5212",id:"61-jmeter\u6d4b\u8bd5\u8ba1\u5212",level:3},{value:"6.1.1 JMeter\u811a\u672c\u7ed3\u6784",id:"611-jmeter\u811a\u672c\u7ed3\u6784",level:4},{value:"6.1.2 JMeter\u7ebf\u7a0b\u7ec4\u914d\u7f6e\u793a\u4f8b",id:"612-jmeter\u7ebf\u7a0b\u7ec4\u914d\u7f6e\u793a\u4f8b",level:4},{value:"6.2 \u6d4b\u8bd5\u6570\u636e\u51c6\u5907",id:"62-\u6d4b\u8bd5\u6570\u636e\u51c6\u5907",level:3},{value:"6.2.1 \u6d4b\u8bd5\u6570\u636e\u751f\u6210\u811a\u672c",id:"621-\u6d4b\u8bd5\u6570\u636e\u751f\u6210\u811a\u672c",level:4},{value:"7. \u6d4b\u8bd5\u6267\u884c\u8ba1\u5212",id:"7-\u6d4b\u8bd5\u6267\u884c\u8ba1\u5212",level:2},{value:"7.1 \u51c6\u5907\u9636\u6bb5",id:"71-\u51c6\u5907\u9636\u6bb5",level:3},{value:"7.2 \u6267\u884c\u9636\u6bb5",id:"72-\u6267\u884c\u9636\u6bb5",level:3},{value:"7.3 \u6267\u884c\u811a\u672c",id:"73-\u6267\u884c\u811a\u672c",level:3},{value:"8. \u76d1\u63a7\u914d\u7f6e",id:"8-\u76d1\u63a7\u914d\u7f6e",level:2},{value:"8.1 Prometheus\u914d\u7f6e",id:"81-prometheus\u914d\u7f6e",level:3},{value:"8.2 Grafana\u4eea\u8868\u76d8",id:"82-grafana\u4eea\u8868\u76d8",level:3},{value:"9. \u7ed3\u679c\u5206\u6790\u4e0e\u62a5\u544a",id:"9-\u7ed3\u679c\u5206\u6790\u4e0e\u62a5\u544a",level:2},{value:"9.1 \u6027\u80fd\u6307\u6807\u6536\u96c6",id:"91-\u6027\u80fd\u6307\u6807\u6536\u96c6",level:3},{value:"9.2 \u6027\u80fd\u6d4b\u8bd5\u62a5\u544a",id:"92-\u6027\u80fd\u6d4b\u8bd5\u62a5\u544a",level:3},{value:"9.3 \u7ed3\u679c\u56fe\u8868\u793a\u4f8b",id:"93-\u7ed3\u679c\u56fe\u8868\u793a\u4f8b",level:3},{value:"10. \u6027\u80fd\u4f18\u5316\u7b56\u7565",id:"10-\u6027\u80fd\u4f18\u5316\u7b56\u7565",level:2},{value:"10.1 \u5e38\u89c1\u74f6\u9888\u53ca\u4f18\u5316\u65b9\u5411",id:"101-\u5e38\u89c1\u74f6\u9888\u53ca\u4f18\u5316\u65b9\u5411",level:3},{value:"10.1.1 \u5e94\u7528\u5c42\u4f18\u5316",id:"1011-\u5e94\u7528\u5c42\u4f18\u5316",level:4},{value:"10.1.2 \u6570\u636e\u5e93\u4f18\u5316",id:"1012-\u6570\u636e\u5e93\u4f18\u5316",level:4},{value:"10.1.3 \u4e2d\u95f4\u4ef6\u4f18\u5316",id:"1013-\u4e2d\u95f4\u4ef6\u4f18\u5316",level:4},{value:"10.1.4 \u67b6\u6784\u4f18\u5316",id:"1014-\u67b6\u6784\u4f18\u5316",level:4},{value:"10.2 \u6269\u5c55\u7b56\u7565",id:"102-\u6269\u5c55\u7b56\u7565",level:3},{value:"11. \u6301\u7eed\u6027\u80fd\u6d4b\u8bd5",id:"11-\u6301\u7eed\u6027\u80fd\u6d4b\u8bd5",level:2},{value:"11.1 \u6301\u7eed\u96c6\u6210\u4e2d\u7684\u6027\u80fd\u6d4b\u8bd5",id:"111-\u6301\u7eed\u96c6\u6210\u4e2d\u7684\u6027\u80fd\u6d4b\u8bd5",level:3},{value:"11.2 \u6027\u80fd\u76d1\u63a7\u544a\u8b66",id:"112-\u6027\u80fd\u76d1\u63a7\u544a\u8b66",level:3},{value:"12. \u9644\u5f55",id:"12-\u9644\u5f55",level:2},{value:"12.1.1 JMeter\u6d4b\u8bd5\u53c2\u6570\u8bf4\u660e",id:"1211-jmeter\u6d4b\u8bd5\u53c2\u6570\u8bf4\u660e",level:3},{value:"12.1.2 \u7cfb\u7edf\u914d\u7f6e\u53c2\u8003",id:"1212-\u7cfb\u7edf\u914d\u7f6e\u53c2\u8003",level:3}];function j(n){const e={code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,r.R)(),...n.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.header,{children:(0,s.jsx)(e.h1,{id:"\u538b\u529b\u6d4b\u8bd5\u65b9\u6848",children:"\u538b\u529b\u6d4b\u8bd5\u65b9\u6848"})}),"\n",(0,s.jsx)(e.h2,{id:"1-\u6d4b\u8bd5\u76ee\u6807",children:"1. \u6d4b\u8bd5\u76ee\u6807"}),"\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsx)(e.li,{children:"\u9a8c\u8bc1\u7cfb\u7edf\u5728\u9ad8\u5e76\u53d1\u573a\u666f\u4e0b\u7684\u7a33\u5b9a\u6027\u548c\u53ef\u9760\u6027"}),"\n",(0,s.jsx)(e.li,{children:"\u8bc4\u4f30\u7cfb\u7edf\u7684\u6700\u5927\u541e\u5410\u91cf\u548c\u6027\u80fd\u4e0a\u9650"}),"\n",(0,s.jsx)(e.li,{children:"\u8bc6\u522b\u7cfb\u7edf\u53ef\u80fd\u5b58\u5728\u7684\u6027\u80fd\u74f6\u9888\u70b9"}),"\n",(0,s.jsx)(e.li,{children:"\u6d4b\u8bd5\u7cfb\u7edf\u5728\u4e0d\u540c\u8d1f\u8f7d\u6761\u4ef6\u4e0b\u7684\u54cd\u5e94\u65f6\u95f4"}),"\n",(0,s.jsx)(e.li,{children:"\u8bc4\u4f30\u7cfb\u7edf\u8d44\u6e90\u4f7f\u7528\u60c5\u51b5\uff08CPU\u3001\u5185\u5b58\u3001\u6570\u636e\u5e93\u8fde\u63a5\u7b49\uff09"}),"\n",(0,s.jsx)(e.li,{children:"\u786e\u5b9a\u7cfb\u7edf\u7684\u6c34\u5e73\u6269\u5c55\u80fd\u529b\u548c\u5782\u76f4\u6269\u5c55\u8fb9\u754c"}),"\n"]}),"\n",(0,s.jsx)(e.h2,{id:"2-\u6d4b\u8bd5\u73af\u5883",children:"2. \u6d4b\u8bd5\u73af\u5883"}),"\n",(0,s.jsx)(e.h3,{id:"21-\u786c\u4ef6\u73af\u5883",children:"2.1 \u786c\u4ef6\u73af\u5883"}),"\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsx)(e.li,{children:"\u6d4b\u8bd5\u670d\u52a1\u5668: \u4e0e\u751f\u4ea7\u73af\u5883\u914d\u7f6e\u76f8\u8fd1\u6216\u76f8\u540c\u7684\u670d\u52a1\u5668"}),"\n",(0,s.jsx)(e.li,{children:"\u6570\u636e\u5e93\u670d\u52a1\u5668: \u4e0e\u751f\u4ea7\u73af\u5883\u914d\u7f6e\u76f8\u8fd1\u7684\u6570\u636e\u5e93\u670d\u52a1\u5668"}),"\n",(0,s.jsx)(e.li,{children:"\u8d1f\u8f7d\u751f\u6210\u5668: \u81f3\u5c112-3\u53f0\u9ad8\u6027\u80fd\u670d\u52a1\u5668\u7528\u4e8e\u751f\u6210\u6d4b\u8bd5\u8d1f\u8f7d"}),"\n"]}),"\n",(0,s.jsx)(e.h3,{id:"22-\u8f6f\u4ef6\u73af\u5883",children:"2.2 \u8f6f\u4ef6\u73af\u5883"}),"\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsx)(e.li,{children:"\u64cd\u4f5c\u7cfb\u7edf: Linux (\u63a8\u8350 Ubuntu 20.04/22.04 \u6216 CentOS 8)"}),"\n",(0,s.jsx)(e.li,{children:"JDK\u7248\u672c: JDK 17"}),"\n",(0,s.jsx)(e.li,{children:"\u5e94\u7528\u670d\u52a1\u5668: Spring Boot 3.4.4"}),"\n",(0,s.jsx)(e.li,{children:"\u6570\u636e\u5e93: MySQL 8.0+ / PostgreSQL 14+"}),"\n",(0,s.jsx)(e.li,{children:"\u6d4b\u8bd5\u5de5\u5177: Apache JMeter 5.5+, Gatling 3.9+"}),"\n",(0,s.jsx)(e.li,{children:"\u76d1\u63a7\u5de5\u5177: Prometheus + Grafana, VisualVM, Arthas"}),"\n"]}),"\n",(0,s.jsx)(e.h3,{id:"23-\u6d4b\u8bd5\u7f51\u7edc\u73af\u5883",children:"2.3 \u6d4b\u8bd5\u7f51\u7edc\u73af\u5883"}),"\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsx)(e.li,{children:"\u5185\u90e8\u5c40\u57df\u7f51: \u5343\u5146\u7f51\u7edc\u73af\u5883"}),"\n",(0,s.jsx)(e.li,{children:"\u5916\u90e8\u6d4b\u8bd5: \u6a21\u62df\u7528\u6237\u8bbf\u95ee\u7684\u516c\u7f51\u73af\u5883"}),"\n"]}),"\n",(0,s.jsx)(e.h2,{id:"3-\u6d4b\u8bd5\u8303\u56f4",children:"3. \u6d4b\u8bd5\u8303\u56f4"}),"\n",(0,s.jsx)(e.h3,{id:"31-api\u63a5\u53e3\u6d4b\u8bd5",children:"3.1 API\u63a5\u53e3\u6d4b\u8bd5"}),"\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsx)(e.li,{children:"\u7528\u6237\u8ba4\u8bc1\u63a5\u53e3"}),"\n",(0,s.jsx)(e.li,{children:"IM\u6d88\u606f\u53d1\u9001\u548c\u63a5\u6536\u63a5\u53e3"}),"\n",(0,s.jsx)(e.li,{children:"\u5ba2\u670d\u5de5\u4f5c\u53f0\u64cd\u4f5c\u63a5\u53e3"}),"\n",(0,s.jsx)(e.li,{children:"\u77e5\u8bc6\u5e93\u67e5\u8be2\u63a5\u53e3"}),"\n",(0,s.jsx)(e.li,{children:"AI\u5bf9\u8bdd\u63a5\u53e3"}),"\n"]}),"\n",(0,s.jsx)(e.h3,{id:"32-\u6838\u5fc3\u529f\u80fd\u6d4b\u8bd5",children:"3.2 \u6838\u5fc3\u529f\u80fd\u6d4b\u8bd5"}),"\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsx)(e.li,{children:"\u5373\u65f6\u6d88\u606f\u6536\u53d1"}),"\n",(0,s.jsx)(e.li,{children:"\u5ba2\u670d\u5206\u914d\u548c\u8def\u7531"}),"\n",(0,s.jsx)(e.li,{children:"AI\u56de\u590d\u751f\u6210"}),"\n",(0,s.jsx)(e.li,{children:"\u591a\u4eba\u4f1a\u8bdd"}),"\n",(0,s.jsx)(e.li,{children:"\u6587\u4ef6\u4e0a\u4f20\u4e0b\u8f7d"}),"\n"]}),"\n",(0,s.jsx)(e.h3,{id:"33-\u540e\u53f0\u4efb\u52a1\u6d4b\u8bd5",children:"3.3 \u540e\u53f0\u4efb\u52a1\u6d4b\u8bd5"}),"\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsx)(e.li,{children:"\u5b9a\u65f6\u4efb\u52a1\u6267\u884c"}),"\n",(0,s.jsx)(e.li,{children:"\u6d88\u606f\u5f02\u6b65\u5904\u7406"}),"\n",(0,s.jsx)(e.li,{children:"\u6570\u636e\u7edf\u8ba1\u4e0e\u5206\u6790"}),"\n"]}),"\n",(0,s.jsx)(e.h2,{id:"4-\u6d4b\u8bd5\u6307\u6807",children:"4. \u6d4b\u8bd5\u6307\u6807"}),"\n",(0,s.jsx)(e.h3,{id:"41-\u5173\u952e\u6027\u80fd\u6307\u6807",children:"4.1 \u5173\u952e\u6027\u80fd\u6307\u6807"}),"\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsx)(e.li,{children:"\u541e\u5410\u91cf(TPS/QPS): \u7cfb\u7edf\u6bcf\u79d2\u5904\u7406\u7684\u4e8b\u52a1/\u8bf7\u6c42\u6570"}),"\n",(0,s.jsx)(e.li,{children:"\u54cd\u5e94\u65f6\u95f4: \u5e73\u5747\u503c\u300190/95/99\u767e\u5206\u4f4d"}),"\n",(0,s.jsx)(e.li,{children:"\u5e76\u53d1\u7528\u6237\u6570: \u7cfb\u7edf\u80fd\u591f\u540c\u65f6\u652f\u6301\u7684\u6d3b\u8dc3\u7528\u6237\u6570"}),"\n",(0,s.jsx)(e.li,{children:"\u9519\u8bef\u7387: \u5728\u4e0d\u540c\u8d1f\u8f7d\u60c5\u51b5\u4e0b\u7684\u8bf7\u6c42\u5931\u8d25\u7387"}),"\n",(0,s.jsx)(e.li,{children:"\u8d44\u6e90\u5229\u7528\u7387: CPU\u3001\u5185\u5b58\u3001\u7f51\u7edcI/O\u3001\u78c1\u76d8I/O\u4f7f\u7528\u7387"}),"\n"]}),"\n",(0,s.jsx)(e.h3,{id:"42-\u4e1a\u52a1\u6307\u6807",children:"4.2 \u4e1a\u52a1\u6307\u6807"}),"\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsx)(e.li,{children:"\u6d88\u606f\u6295\u9012\u6210\u529f\u7387"}),"\n",(0,s.jsx)(e.li,{children:"\u6d88\u606f\u5ef6\u8fdf\u65f6\u95f4"}),"\n",(0,s.jsx)(e.li,{children:"\u5ba2\u670d\u54cd\u5e94\u65f6\u95f4"}),"\n",(0,s.jsx)(e.li,{children:"AI\u56de\u590d\u751f\u6210\u65f6\u95f4"}),"\n",(0,s.jsx)(e.li,{children:"WebSocket\u8fde\u63a5\u7a33\u5b9a\u6027"}),"\n"]}),"\n",(0,s.jsx)(e.h2,{id:"5-\u6d4b\u8bd5\u573a\u666f\u8bbe\u8ba1",children:"5. \u6d4b\u8bd5\u573a\u666f\u8bbe\u8ba1"}),"\n",(0,s.jsx)(e.h3,{id:"51-\u57fa\u7840api\u538b\u6d4b",children:"5.1 \u57fa\u7840API\u538b\u6d4b"}),"\n",(0,s.jsx)(e.h4,{id:"511-\u767b\u5f55\u8ba4\u8bc1\u6027\u80fd\u6d4b\u8bd5",children:"5.1.1 \u767b\u5f55\u8ba4\u8bc1\u6027\u80fd\u6d4b\u8bd5"}),"\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"\u76ee\u6807"}),": \u6d4b\u8bd5\u7cfb\u7edf\u5904\u7406\u5927\u91cf\u5e76\u53d1\u767b\u5f55\u8bf7\u6c42\u7684\u80fd\u529b"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"\u865a\u62df\u7528\u6237\u6570"}),": 500-5000"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"\u52a0\u538b\u65b9\u5f0f"}),": \u9636\u68af\u5f0f\uff08\u6bcf30\u79d2\u589e\u52a0500\u7528\u6237\uff09"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"\u6301\u7eed\u65f6\u95f4"}),": 10\u5206\u949f"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"\u6d4b\u8bd5\u63a5\u53e3"}),": ",(0,s.jsx)(e.code,{children:"/api/v1/auth/login"})]}),"\n"]}),"\n",(0,s.jsx)(e.h4,{id:"512-\u6d88\u606f\u53d1\u9001\u6027\u80fd\u6d4b\u8bd5",children:"5.1.2 \u6d88\u606f\u53d1\u9001\u6027\u80fd\u6d4b\u8bd5"}),"\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"\u76ee\u6807"}),": \u6d4b\u8bd5\u7cfb\u7edf\u5904\u7406\u9ad8\u5e76\u53d1\u6d88\u606f\u7684\u80fd\u529b"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"\u865a\u62df\u7528\u6237\u6570"}),": 1000"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"\u6bcf\u7528\u6237\u53d1\u9001\u9891\u7387"}),": 2-10\u6761/\u5206\u949f"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"\u6d88\u606f\u7c7b\u578b"}),": \u6587\u672c\u3001\u56fe\u7247\u3001\u6587\u4ef6\u6df7\u5408"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"\u6301\u7eed\u65f6\u95f4"}),": 30\u5206\u949f"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"\u6d4b\u8bd5\u63a5\u53e3"}),": ",(0,s.jsx)(e.code,{children:"/api/v1/message/send"})]}),"\n"]}),"\n",(0,s.jsx)(e.h3,{id:"52-\u5b9e\u65f6\u901a\u4fe1\u538b\u6d4b",children:"5.2 \u5b9e\u65f6\u901a\u4fe1\u538b\u6d4b"}),"\n",(0,s.jsx)(e.h4,{id:"521-websocket\u8fde\u63a5\u6d4b\u8bd5",children:"5.2.1 WebSocket\u8fde\u63a5\u6d4b\u8bd5"}),"\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"\u76ee\u6807"}),": \u6d4b\u8bd5\u7cfb\u7edf\u7ef4\u6301\u5927\u91cf\u957f\u8fde\u63a5\u7684\u80fd\u529b"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"\u8fde\u63a5\u6570"}),": 5000-20000"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"\u52a0\u538b\u65b9\u5f0f"}),": \u9636\u68af\u5f0f\uff08\u6bcf\u5206\u949f\u589e\u52a01000\u8fde\u63a5\uff09"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"\u6301\u7eed\u65f6\u95f4"}),": 60\u5206\u949f"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"\u6d4b\u8bd5\u6307\u6807"}),": \u8fde\u63a5\u6210\u529f\u7387\u3001\u65ad\u8fde\u7387\u3001\u6d88\u606f\u6295\u9012\u6210\u529f\u7387"]}),"\n"]}),"\n",(0,s.jsx)(e.h4,{id:"522-\u9ad8\u5e76\u53d1\u7fa4\u804a\u6d4b\u8bd5",children:"5.2.2 \u9ad8\u5e76\u53d1\u7fa4\u804a\u6d4b\u8bd5"}),"\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"\u76ee\u6807"}),": \u6d4b\u8bd5\u7fa4\u804a\u573a\u666f\u4e0b\u7684\u6d88\u606f\u5e7f\u64ad\u6027\u80fd"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"\u7fa4\u6570\u91cf"}),": 100\u4e2a"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"\u6bcf\u7fa4\u7528\u6237"}),": 50-200\u4eba"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"\u6d88\u606f\u9891\u7387"}),": 5-20\u6761/\u79d2/\u7fa4"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"\u6301\u7eed\u65f6\u95f4"}),": 20\u5206\u949f"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"\u6d4b\u8bd5\u6307\u6807"}),": \u6d88\u606f\u6295\u9012\u65f6\u5ef6\u3001CPU\u4f7f\u7528\u7387\u3001\u5185\u5b58\u4f7f\u7528\u60c5\u51b5"]}),"\n"]}),"\n",(0,s.jsx)(e.h3,{id:"53-\u5ba2\u670d\u7cfb\u7edf\u538b\u6d4b",children:"5.3 \u5ba2\u670d\u7cfb\u7edf\u538b\u6d4b"}),"\n",(0,s.jsx)(e.h4,{id:"531-\u5ba2\u670d\u5206\u914d\u6027\u80fd\u6d4b\u8bd5",children:"5.3.1 \u5ba2\u670d\u5206\u914d\u6027\u80fd\u6d4b\u8bd5"}),"\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"\u76ee\u6807"}),": \u6d4b\u8bd5\u5927\u91cf\u5ba2\u6237\u540c\u65f6\u63a5\u5165\u65f6\u7684\u5206\u914d\u6027\u80fd"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"\u865a\u62df\u5ba2\u6237\u6570"}),": 3000"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"\u5ba2\u670d\u5750\u5e2d\u6570"}),": 100"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"\u63a5\u5165\u6a21\u5f0f"}),": \u6279\u91cf\u63a5\u5165\uff08\u6bcf\u79d250-100\u65b0\u5ba2\u6237\uff09"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"\u6301\u7eed\u65f6\u95f4"}),": 15\u5206\u949f"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"\u6d4b\u8bd5\u6307\u6807"}),": \u5206\u914d\u6210\u529f\u7387\u3001\u5e73\u5747\u5206\u914d\u65f6\u95f4\u3001\u7cfb\u7edf\u8d44\u6e90\u4f7f\u7528\u60c5\u51b5"]}),"\n"]}),"\n",(0,s.jsx)(e.h4,{id:"532-\u5ba2\u670d\u5de5\u4f5c\u53f0\u64cd\u4f5c\u6d4b\u8bd5",children:"5.3.2 \u5ba2\u670d\u5de5\u4f5c\u53f0\u64cd\u4f5c\u6d4b\u8bd5"}),"\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"\u76ee\u6807"}),": \u6d4b\u8bd5\u5ba2\u670d\u540c\u65f6\u5904\u7406\u591a\u4f1a\u8bdd\u7684\u7cfb\u7edf\u6027\u80fd"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"\u5ba2\u670d\u6570\u91cf"}),": 50"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"\u6bcf\u5ba2\u670d\u4f1a\u8bdd\u6570"}),": 10-30\u4f1a\u8bdd"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"\u64cd\u4f5c\u9891\u7387"}),": \u6bcf\u79d21-3\u6b21\u64cd\u4f5c\uff08\u56de\u590d\u3001\u8f6c\u63a5\u3001\u67e5\u8be2\u7b49\uff09"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"\u6301\u7eed\u65f6\u95f4"}),": 30\u5206\u949f"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"\u6d4b\u8bd5\u6307\u6807"}),": \u64cd\u4f5c\u54cd\u5e94\u65f6\u95f4\u3001\u7cfb\u7edf\u7a33\u5b9a\u6027"]}),"\n"]}),"\n",(0,s.jsx)(e.h3,{id:"54-ai\u7cfb\u7edf\u538b\u6d4b",children:"5.4 AI\u7cfb\u7edf\u538b\u6d4b"}),"\n",(0,s.jsx)(e.h4,{id:"541-ai\u95ee\u7b54\u6027\u80fd\u6d4b\u8bd5",children:"5.4.1 AI\u95ee\u7b54\u6027\u80fd\u6d4b\u8bd5"}),"\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"\u76ee\u6807"}),": \u6d4b\u8bd5AI\u56de\u590d\u751f\u6210\u6027\u80fd"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"\u5e76\u53d1\u8bf7\u6c42\u6570"}),": 50-200"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"\u8bf7\u6c42\u5185\u5bb9"}),": \u6df7\u5408\u7b80\u5355\u548c\u590d\u6742\u95ee\u9898"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"\u6301\u7eed\u65f6\u95f4"}),": 15\u5206\u949f"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"\u6d4b\u8bd5\u6307\u6807"}),": \u54cd\u5e94\u65f6\u95f4\u3001\u7cfb\u7edf\u8d44\u6e90\u5360\u7528\u3001\u8d85\u65f6\u7387"]}),"\n"]}),"\n",(0,s.jsx)(e.h4,{id:"542-\u77e5\u8bc6\u5e93\u67e5\u8be2\u6d4b\u8bd5",children:"5.4.2 \u77e5\u8bc6\u5e93\u67e5\u8be2\u6d4b\u8bd5"}),"\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"\u76ee\u6807"}),": \u6d4b\u8bd5\u77e5\u8bc6\u5e93\u7684\u67e5\u8be2\u6027\u80fd"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"\u5e76\u53d1\u8bf7\u6c42\u6570"}),": 100-500"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"\u67e5\u8be2\u7c7b\u578b"}),": \u7cbe\u786e\u5339\u914d\u548c\u6a21\u7cca\u5339\u914d\u6df7\u5408"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"\u6301\u7eed\u65f6\u95f4"}),": 20\u5206\u949f"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"\u6d4b\u8bd5\u6307\u6807"}),": \u67e5\u8be2\u54cd\u5e94\u65f6\u95f4\u3001\u6570\u636e\u5e93\u6027\u80fd\u6307\u6807"]}),"\n"]}),"\n",(0,s.jsx)(e.h3,{id:"55-\u6df7\u5408\u573a\u666f\u6d4b\u8bd5",children:"5.5 \u6df7\u5408\u573a\u666f\u6d4b\u8bd5"}),"\n",(0,s.jsx)(e.h4,{id:"551-\u5168\u529f\u80fd\u6df7\u5408\u538b\u6d4b",children:"5.5.1 \u5168\u529f\u80fd\u6df7\u5408\u538b\u6d4b"}),"\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"\u76ee\u6807"}),": \u6a21\u62df\u771f\u5b9e\u751f\u4ea7\u73af\u5883\u4e0b\u7684\u6df7\u5408\u8d1f\u8f7d"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"\u865a\u62df\u7528\u6237"}),": \u603b\u8ba110000\u7528\u6237\uff0c\u6df7\u5408\u6267\u884c\u4ee5\u4e0a\u6240\u6709\u573a\u666f"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"\u6301\u7eed\u65f6\u95f4"}),": 60\u5206\u949f"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"\u6d4b\u8bd5\u6307\u6807"}),": \u7cfb\u7edf\u6574\u4f53\u7a33\u5b9a\u6027\u3001\u54cd\u5e94\u65f6\u95f4\u3001\u8d44\u6e90\u4f7f\u7528\u60c5\u51b5"]}),"\n"]}),"\n",(0,s.jsx)(e.h2,{id:"6-\u6d4b\u8bd5\u5de5\u5177\u4e0e\u811a\u672c",children:"6. \u6d4b\u8bd5\u5de5\u5177\u4e0e\u811a\u672c"}),"\n",(0,s.jsx)(e.h3,{id:"61-jmeter\u6d4b\u8bd5\u8ba1\u5212",children:"6.1 JMeter\u6d4b\u8bd5\u8ba1\u5212"}),"\n",(0,s.jsx)(e.h4,{id:"611-jmeter\u811a\u672c\u7ed3\u6784",children:"6.1.1 JMeter\u811a\u672c\u7ed3\u6784"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-md",children:"jmeter/\n \u251c\u2500\u2500 scripts/\n \u2502 \u251c\u2500\u2500 01_login_test.jmx\n \u2502 \u251c\u2500\u2500 02_message_test.jmx\n \u2502 \u251c\u2500\u2500 03_websocket_test.jmx\n \u2502 \u251c\u2500\u2500 04_groupchat_test.jmx\n \u2502 \u251c\u2500\u2500 05_cs_allocation_test.jmx\n \u2502 \u251c\u2500\u2500 06_cs_operation_test.jmx\n \u2502 \u251c\u2500\u2500 07_ai_qa_test.jmx\n \u2502 \u251c\u2500\u2500 08_kb_query_test.jmx\n \u2502 \u2514\u2500\u2500 09_mixed_test.jmx\n \u251c\u2500\u2500 data/\n \u2502 \u251c\u2500\u2500 users.csv\n \u2502 \u251c\u2500\u2500 messages.csv\n \u2502 \u2514\u2500\u2500 questions.csv\n \u2514\u2500\u2500 results/\n \u251c\u2500\u2500 raw/\n \u2514\u2500\u2500 reports/\n"})}),"\n",(0,s.jsx)(e.h4,{id:"612-jmeter\u7ebf\u7a0b\u7ec4\u914d\u7f6e\u793a\u4f8b",children:"6.1.2 JMeter\u7ebf\u7a0b\u7ec4\u914d\u7f6e\u793a\u4f8b"}),"\n",(0,s.jsx)(e.p,{children:"\u767b\u5f55\u6d4b\u8bd5\u7ebf\u7a0b\u7ec4\u914d\u7f6e:"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-xml",children:'<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Login Test" enabled="true">\n <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>\n <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">\n <boolProp name="LoopController.continue_forever">false</boolProp>\n <stringProp name="LoopController.loops">1</stringProp>\n </elementProp>\n <stringProp name="ThreadGroup.num_threads">500</stringProp>\n <stringProp name="ThreadGroup.ramp_time">30</stringProp>\n <boolProp name="ThreadGroup.scheduler">true</boolProp>\n <stringProp name="ThreadGroup.duration">600</stringProp>\n <stringProp name="ThreadGroup.delay">0</stringProp>\n</ThreadGroup>\n'})}),"\n",(0,s.jsx)(e.h3,{id:"62-\u6d4b\u8bd5\u6570\u636e\u51c6\u5907",children:"6.2 \u6d4b\u8bd5\u6570\u636e\u51c6\u5907"}),"\n",(0,s.jsx)(e.h4,{id:"621-\u6d4b\u8bd5\u6570\u636e\u751f\u6210\u811a\u672c",children:"6.2.1 \u6d4b\u8bd5\u6570\u636e\u751f\u6210\u811a\u672c"}),"\n",(0,s.jsx)(e.p,{children:"\u521b\u5efa\u7528\u4e8e\u751f\u6210\u6d4b\u8bd5\u6570\u636e\u7684\u811a\u672c:"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-bash",children:'#!/bin/bash\n# generate_test_data.sh\n# \u751f\u6210\u6d4b\u8bd5\u6240\u9700\u7684\u7528\u6237\u3001\u6d88\u606f\u548c\u95ee\u9898\u6570\u636e\n\n# \u751f\u6210\u7528\u6237\u6570\u636e\necho "username,password,email" > users.csv\nfor i in $(seq 1 10000); do\n echo "user$i,password$i,user$i@example.com" >> users.csv\ndone\n\n# \u751f\u6210\u6d88\u606f\u6570\u636e\necho "message_content,message_type" > messages.csv\nfor i in $(seq 1 1000); do\n echo "This is test message $i,text" >> messages.csv\ndone\n\n# \u751f\u6210AI\u95ee\u9898\u6570\u636e\necho "question" > questions.csv\nfor i in $(seq 1 500); do\n echo "What is the answer to question $i?" >> questions.csv\ndone\n'})}),"\n",(0,s.jsx)(e.h2,{id:"7-\u6d4b\u8bd5\u6267\u884c\u8ba1\u5212",children:"7. \u6d4b\u8bd5\u6267\u884c\u8ba1\u5212"}),"\n",(0,s.jsx)(e.h3,{id:"71-\u51c6\u5907\u9636\u6bb5",children:"7.1 \u51c6\u5907\u9636\u6bb5"}),"\n",(0,s.jsxs)(e.ol,{children:["\n",(0,s.jsx)(e.li,{children:"\u914d\u7f6e\u6d4b\u8bd5\u73af\u5883\u5e76\u90e8\u7f72\u5e94\u7528"}),"\n",(0,s.jsx)(e.li,{children:"\u51c6\u5907\u6d4b\u8bd5\u6570\u636e"}),"\n",(0,s.jsx)(e.li,{children:"\u914d\u7f6e\u76d1\u63a7\u7cfb\u7edf"}),"\n",(0,s.jsx)(e.li,{children:"\u8fdb\u884c\u5c0f\u89c4\u6a21\u6d4b\u8bd5\u9a8c\u8bc1\u6d4b\u8bd5\u811a\u672c"}),"\n"]}),"\n",(0,s.jsx)(e.h3,{id:"72-\u6267\u884c\u9636\u6bb5",children:"7.2 \u6267\u884c\u9636\u6bb5"}),"\n",(0,s.jsxs)(e.ol,{children:["\n",(0,s.jsx)(e.li,{children:"\u5206\u573a\u666f\u6267\u884c\u5355\u9879\u6d4b\u8bd5\uff0c\u4ece\u4f4e\u8d1f\u8f7d\u5f00\u59cb\uff0c\u9010\u6b65\u589e\u52a0"}),"\n",(0,s.jsx)(e.li,{children:"\u8bb0\u5f55\u6bcf\u4e2a\u573a\u666f\u7684\u6d4b\u8bd5\u7ed3\u679c\u548c\u7cfb\u7edf\u8868\u73b0"}),"\n",(0,s.jsx)(e.li,{children:"\u5f85\u5355\u9879\u6d4b\u8bd5\u5b8c\u6210\u540e\uff0c\u6267\u884c\u6df7\u5408\u573a\u666f\u6d4b\u8bd5"}),"\n",(0,s.jsx)(e.li,{children:"\u8fde\u7eed\u76d1\u63a7\u7cfb\u7edf\u6027\u80fd\u6307\u6807"}),"\n"]}),"\n",(0,s.jsx)(e.h3,{id:"73-\u6267\u884c\u811a\u672c",children:"7.3 \u6267\u884c\u811a\u672c"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-bash",children:'#!/bin/bash\n# run_load_tests.sh\n\nBASE_DIR=$(pwd)\nJMETER_BIN="/path/to/jmeter/bin"\nSCRIPTS_DIR="$BASE_DIR/jmeter/scripts"\nRESULTS_DIR="$BASE_DIR/jmeter/results/raw"\nREPORT_DIR="$BASE_DIR/jmeter/results/reports"\n\n# \u521b\u5efa\u7ed3\u679c\u76ee\u5f55\nmkdir -p $RESULTS_DIR\nmkdir -p $REPORT_DIR\n\n# \u8fd0\u884c\u6240\u6709\u6d4b\u8bd5\u811a\u672c\nfor script in $SCRIPTS_DIR/*.jmx; do\n script_name=$(basename "$script" .jmx)\n echo "Running test: $script_name"\n \n # \u6267\u884cJMeter\u6d4b\u8bd5\n $JMETER_BIN/jmeter -n -t "$script" \\\n -l "$RESULTS_DIR/${script_name}_result.jtl" \\\n -e -o "$REPORT_DIR/$script_name"\n \n echo "Test $script_name completed"\n \n # \u7b49\u5f85\u7cfb\u7edf\u6062\u590d\n echo "Waiting 2 minutes for system to stabilize..."\n sleep 120\ndone\n\necho "All tests completed"\n'})}),"\n",(0,s.jsx)(e.h2,{id:"8-\u76d1\u63a7\u914d\u7f6e",children:"8. \u76d1\u63a7\u914d\u7f6e"}),"\n",(0,s.jsx)(e.h3,{id:"81-prometheus\u914d\u7f6e",children:"8.1 Prometheus\u914d\u7f6e"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-yaml",children:"# prometheus.yml\nscrape_configs:\n - job_name: 'bytedesk'\n metrics_path: '/actuator/prometheus'\n scrape_interval: 5s\n static_configs:\n - targets: ['bytedesk-app:9003']\n"})}),"\n",(0,s.jsx)(e.h3,{id:"82-grafana\u4eea\u8868\u76d8",children:"8.2 Grafana\u4eea\u8868\u76d8"}),"\n",(0,s.jsx)(e.p,{children:"\u521b\u5efa\u4ee5\u4e0bGrafana\u4eea\u8868\u76d8:"}),"\n",(0,s.jsxs)(e.ol,{children:["\n",(0,s.jsxs)(e.li,{children:["\n",(0,s.jsx)(e.p,{children:"\u7cfb\u7edf\u6982\u89c8\u4eea\u8868\u76d8"}),"\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsx)(e.li,{children:"JVM\u5185\u5b58\u4f7f\u7528\u3001GC\u60c5\u51b5"}),"\n",(0,s.jsx)(e.li,{children:"CPU\u4f7f\u7528\u7387"}),"\n",(0,s.jsx)(e.li,{children:"\u7f51\u7edcI/O"}),"\n",(0,s.jsx)(e.li,{children:"\u54cd\u5e94\u65f6\u95f4\u53d8\u5316"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(e.li,{children:["\n",(0,s.jsx)(e.p,{children:"\u6570\u636e\u5e93\u6027\u80fd\u4eea\u8868\u76d8"}),"\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsx)(e.li,{children:"\u8fde\u63a5\u6c60\u4f7f\u7528\u60c5\u51b5"}),"\n",(0,s.jsx)(e.li,{children:"\u67e5\u8be2\u6267\u884c\u65f6\u95f4"}),"\n",(0,s.jsx)(e.li,{children:"\u4e8b\u52a1\u6570"}),"\n",(0,s.jsx)(e.li,{children:"\u6162\u67e5\u8be2\u5206\u6790"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(e.li,{children:["\n",(0,s.jsx)(e.p,{children:"\u5e94\u7528\u6307\u6807\u4eea\u8868\u76d8"}),"\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsx)(e.li,{children:"HTTP\u8bf7\u6c42\u7edf\u8ba1"}),"\n",(0,s.jsx)(e.li,{children:"WebSocket\u8fde\u63a5\u6570"}),"\n",(0,s.jsx)(e.li,{children:"\u9519\u8bef\u7387"}),"\n",(0,s.jsx)(e.li,{children:"\u81ea\u5b9a\u4e49\u4e1a\u52a1\u6307\u6807"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(e.h2,{id:"9-\u7ed3\u679c\u5206\u6790\u4e0e\u62a5\u544a",children:"9. \u7ed3\u679c\u5206\u6790\u4e0e\u62a5\u544a"}),"\n",(0,s.jsx)(e.h3,{id:"91-\u6027\u80fd\u6307\u6807\u6536\u96c6",children:"9.1 \u6027\u80fd\u6307\u6807\u6536\u96c6"}),"\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsx)(e.li,{children:"JMeter\u751f\u6210\u7684\u805a\u5408\u62a5\u544a"}),"\n",(0,s.jsx)(e.li,{children:"Prometheus\u6307\u6807\u6570\u636e"}),"\n",(0,s.jsx)(e.li,{children:"\u7cfb\u7edf\u65e5\u5fd7\u5206\u6790"}),"\n",(0,s.jsx)(e.li,{children:"\u6570\u636e\u5e93\u6027\u80fd\u6570\u636e"}),"\n"]}),"\n",(0,s.jsx)(e.h3,{id:"92-\u6027\u80fd\u6d4b\u8bd5\u62a5\u544a",children:"9.2 \u6027\u80fd\u6d4b\u8bd5\u62a5\u544a"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-markdown",children:"## \u6d4b\u8bd5\u6458\u8981\n\n- \u6d4b\u8bd5\u65e5\u671f: [\u65e5\u671f]\n- \u6d4b\u8bd5\u73af\u5883: [\u73af\u5883\u914d\u7f6e]\n- \u6d4b\u8bd5\u7248\u672c: [\u8f6f\u4ef6\u7248\u672c]\n- \u6d4b\u8bd5\u573a\u666f: [\u573a\u666f\u63cf\u8ff0]\n\n## \u6d4b\u8bd5\u7ed3\u679c\u603b\u89c8\n\n- \u6700\u5927\u541e\u5410\u91cf: [x] TPS\n- \u5e73\u5747\u54cd\u5e94\u65f6\u95f4: [x] ms\n- 95%\u54cd\u5e94\u65f6\u95f4: [x] ms\n- \u6700\u5927\u5e76\u53d1\u7528\u6237\u6570: [x]\n- \u7cfb\u7edf\u8d44\u6e90\u4f7f\u7528\u5cf0\u503c: CPU [x]%, \u5185\u5b58 [x]GB\n\n## \u8be6\u7ec6\u6d4b\u8bd5\u7ed3\u679c\n\n### \u573a\u666f1: [\u573a\u666f\u540d\u79f0]\n\n- \u541e\u5410\u91cf: [x] TPS\n- \u5e73\u5747\u54cd\u5e94\u65f6\u95f4: [x] ms\n- \u9519\u8bef\u7387: [x]%\n- \u8d44\u6e90\u4f7f\u7528\u60c5\u51b5: [\u8be6\u7ec6\u63cf\u8ff0]\n\n### \u573a\u666f2: [\u573a\u666f\u540d\u79f0]\n\n...\n\n## \u6027\u80fd\u74f6\u9888\u5206\u6790\n\n## \u4f18\u5316\u5efa\u8bae\n\n1. [\u4f18\u5316\u5efa\u8bae1]\n2. [\u4f18\u5316\u5efa\u8bae2]\n...\n\n## \u9644\u5f55\n\n- \u6d4b\u8bd5\u811a\u672c\n- \u8be6\u7ec6\u76d1\u63a7\u6570\u636e\n- \u9519\u8bef\u65e5\u5fd7\u5206\u6790\n"})}),"\n",(0,s.jsx)(e.h3,{id:"93-\u7ed3\u679c\u56fe\u8868\u793a\u4f8b",children:"9.3 \u7ed3\u679c\u56fe\u8868\u793a\u4f8b"}),"\n",(0,s.jsx)(e.p,{children:"\u4ee5\u4e0b\u662f\u6d4b\u8bd5\u7ed3\u679c\u7684\u53ef\u89c6\u5316\u56fe\u8868\u7c7b\u578b:"}),"\n",(0,s.jsxs)(e.ol,{children:["\n",(0,s.jsx)(e.li,{children:"\u54cd\u5e94\u65f6\u95f4\u4e0e\u5e76\u53d1\u7528\u6237\u5173\u7cfb\u56fe"}),"\n",(0,s.jsx)(e.li,{children:"\u541e\u5410\u91cf\u4e0e\u5e76\u53d1\u7528\u6237\u5173\u7cfb\u56fe"}),"\n",(0,s.jsx)(e.li,{children:"\u9519\u8bef\u7387\u4e0e\u5e76\u53d1\u7528\u6237\u5173\u7cfb\u56fe"}),"\n",(0,s.jsx)(e.li,{children:"\u8d44\u6e90\u4f7f\u7528\u7387\u8d8b\u52bf\u56fe"}),"\n",(0,s.jsx)(e.li,{children:"\u6570\u636e\u5e93\u6027\u80fd\u6307\u6807\u56fe"}),"\n",(0,s.jsx)(e.li,{children:"\u5404API\u7aef\u70b9\u54cd\u5e94\u65f6\u95f4\u5bf9\u6bd4\u56fe"}),"\n"]}),"\n",(0,s.jsx)(e.h2,{id:"10-\u6027\u80fd\u4f18\u5316\u7b56\u7565",children:"10. \u6027\u80fd\u4f18\u5316\u7b56\u7565"}),"\n",(0,s.jsx)(e.h3,{id:"101-\u5e38\u89c1\u74f6\u9888\u53ca\u4f18\u5316\u65b9\u5411",children:"10.1 \u5e38\u89c1\u74f6\u9888\u53ca\u4f18\u5316\u65b9\u5411"}),"\n",(0,s.jsx)(e.h4,{id:"1011-\u5e94\u7528\u5c42\u4f18\u5316",children:"10.1.1 \u5e94\u7528\u5c42\u4f18\u5316"}),"\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsx)(e.li,{children:"JVM\u53c2\u6570\u8c03\u4f18: \u6839\u636e\u6d4b\u8bd5\u7ed3\u679c\u8c03\u6574\u5806\u5927\u5c0f\u3001GC\u7b56\u7565"}),"\n",(0,s.jsx)(e.li,{children:"\u7ebf\u7a0b\u6c60\u4f18\u5316: \u8c03\u6574\u5404\u4e1a\u52a1\u7ebf\u7a0b\u6c60\u5927\u5c0f\u548c\u7b56\u7565"}),"\n",(0,s.jsx)(e.li,{children:"\u4ee3\u7801\u7ea7\u4f18\u5316: \u4f18\u5316\u9ad8\u9891\u8c03\u7528\u8def\u5f84\u3001\u51cf\u5c11\u4e0d\u5fc5\u8981\u7684\u5bf9\u8c61\u521b\u5efa"}),"\n"]}),"\n",(0,s.jsx)(e.h4,{id:"1012-\u6570\u636e\u5e93\u4f18\u5316",children:"10.1.2 \u6570\u636e\u5e93\u4f18\u5316"}),"\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsx)(e.li,{children:"\u7d22\u5f15\u4f18\u5316: \u9488\u5bf9\u9ad8\u9891\u67e5\u8be2\u6dfb\u52a0\u5408\u9002\u7d22\u5f15"}),"\n",(0,s.jsx)(e.li,{children:"SQL\u4f18\u5316: \u91cd\u5199\u590d\u6742\u67e5\u8be2\u3001\u6dfb\u52a0\u9002\u5f53\u7684\u67e5\u8be2\u63d0\u793a"}),"\n",(0,s.jsx)(e.li,{children:"\u8fde\u63a5\u6c60\u914d\u7f6e: \u4f18\u5316\u8fde\u63a5\u6c60\u5927\u5c0f\u548c\u8d85\u65f6\u8bbe\u7f6e"}),"\n"]}),"\n",(0,s.jsx)(e.h4,{id:"1013-\u4e2d\u95f4\u4ef6\u4f18\u5316",children:"10.1.3 \u4e2d\u95f4\u4ef6\u4f18\u5316"}),"\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsx)(e.li,{children:"Redis\u914d\u7f6e: \u4f18\u5316\u7f13\u5b58\u7b56\u7565\u548c\u5185\u5b58\u7ba1\u7406"}),"\n",(0,s.jsx)(e.li,{children:"\u6d88\u606f\u961f\u5217: \u8c03\u6574\u961f\u5217\u5927\u5c0f\u548c\u6d88\u8d39\u8005\u6570\u91cf"}),"\n",(0,s.jsx)(e.li,{children:"WebSocket: \u4f18\u5316\u5fc3\u8df3\u673a\u5236\u548c\u8fde\u63a5\u7ba1\u7406"}),"\n"]}),"\n",(0,s.jsx)(e.h4,{id:"1014-\u67b6\u6784\u4f18\u5316",children:"10.1.4 \u67b6\u6784\u4f18\u5316"}),"\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsx)(e.li,{children:"\u670d\u52a1\u62c6\u5206: \u8bc6\u522b\u5e76\u62c6\u5206\u9ad8\u8d1f\u8f7d\u670d\u52a1"}),"\n",(0,s.jsx)(e.li,{children:"\u8bfb\u5199\u5206\u79bb: \u5b9e\u65bd\u6570\u636e\u5e93\u8bfb\u5199\u5206\u79bb"}),"\n",(0,s.jsx)(e.li,{children:"\u5206\u5e93\u5206\u8868: \u5bf9\u9ad8\u9891\u8bbf\u95ee\u8868\u8fdb\u884c\u6c34\u5e73\u62c6\u5206"}),"\n"]}),"\n",(0,s.jsx)(e.h3,{id:"102-\u6269\u5c55\u7b56\u7565",children:"10.2 \u6269\u5c55\u7b56\u7565"}),"\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsx)(e.li,{children:"\u5782\u76f4\u6269\u5c55: \u589e\u52a0\u5355\u673a\u8d44\u6e90\uff08CPU\u3001\u5185\u5b58\uff09"}),"\n",(0,s.jsx)(e.li,{children:"\u6c34\u5e73\u6269\u5c55: \u589e\u52a0\u670d\u52a1\u8282\u70b9\u6570\u91cf"}),"\n",(0,s.jsx)(e.li,{children:"\u6df7\u5408\u6269\u5c55: \u7ed3\u5408\u5782\u76f4\u548c\u6c34\u5e73\u6269\u5c55\u7b56\u7565"}),"\n"]}),"\n",(0,s.jsx)(e.h2,{id:"11-\u6301\u7eed\u6027\u80fd\u6d4b\u8bd5",children:"11. \u6301\u7eed\u6027\u80fd\u6d4b\u8bd5"}),"\n",(0,s.jsx)(e.h3,{id:"111-\u6301\u7eed\u96c6\u6210\u4e2d\u7684\u6027\u80fd\u6d4b\u8bd5",children:"11.1 \u6301\u7eed\u96c6\u6210\u4e2d\u7684\u6027\u80fd\u6d4b\u8bd5"}),"\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsx)(e.li,{children:"\u96c6\u6210JMeter\u5230CI/CD\u6d41\u7a0b"}),"\n",(0,s.jsx)(e.li,{children:"\u8bbe\u7f6e\u6027\u80fd\u57fa\u51c6\u548c\u8b66\u62a5\u9608\u503c"}),"\n",(0,s.jsx)(e.li,{children:"\u81ea\u52a8\u751f\u6210\u6027\u80fd\u8d8b\u52bf\u62a5\u544a"}),"\n"]}),"\n",(0,s.jsx)(e.h3,{id:"112-\u6027\u80fd\u76d1\u63a7\u544a\u8b66",children:"11.2 \u6027\u80fd\u76d1\u63a7\u544a\u8b66"}),"\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsx)(e.li,{children:"\u5efa\u7acb\u5173\u952e\u6307\u6807\u7684\u76d1\u63a7\u544a\u8b66"}),"\n",(0,s.jsx)(e.li,{children:"\u914d\u7f6e\u6027\u80fd\u9000\u5316\u81ea\u52a8\u901a\u77e5"}),"\n",(0,s.jsx)(e.li,{children:"\u6027\u80fd\u6570\u636e\u5386\u53f2\u8d8b\u52bf\u5206\u6790"}),"\n"]}),"\n",(0,s.jsx)(e.h2,{id:"12-\u9644\u5f55",children:"12. \u9644\u5f55"}),"\n",(0,s.jsx)(e.h3,{id:"1211-jmeter\u6d4b\u8bd5\u53c2\u6570\u8bf4\u660e",children:"12.1.1 JMeter\u6d4b\u8bd5\u53c2\u6570\u8bf4\u660e"}),"\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsx)(e.li,{children:"\u7ebf\u7a0b\u7ec4\u53c2\u6570\u8be6\u89e3"}),"\n",(0,s.jsx)(e.li,{children:"\u5b9a\u65f6\u5668\u4f7f\u7528\u7b56\u7565"}),"\n",(0,s.jsx)(e.li,{children:"\u65ad\u8a00\u914d\u7f6e\u5efa\u8bae"}),"\n",(0,s.jsx)(e.li,{children:"\u7ed3\u679c\u6536\u96c6\u5668\u914d\u7f6e"}),"\n"]}),"\n",(0,s.jsx)(e.h3,{id:"1212-\u7cfb\u7edf\u914d\u7f6e\u53c2\u8003",children:"12.1.2 \u7cfb\u7edf\u914d\u7f6e\u53c2\u8003"}),"\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsx)(e.li,{children:"\u5e94\u7528\u670d\u52a1\u5668\u63a8\u8350\u914d\u7f6e"}),"\n",(0,s.jsx)(e.li,{children:"JVM\u53c2\u6570\u5efa\u8bae"}),"\n",(0,s.jsx)(e.li,{children:"\u6570\u636e\u5e93\u53c2\u6570\u5efa\u8bae"}),"\n",(0,s.jsx)(e.li,{children:"\u7f51\u7edc\u53c2\u6570\u4f18\u5316"}),"\n"]})]})}function t(n={}){const{wrapper:e}={...(0,r.R)(),...n.components};return e?(0,s.jsx)(e,{...n,children:(0,s.jsx)(j,{...n})}):j(n)}},6246:(n,e,l)=>{l.d(e,{R:()=>d,x:()=>h});var i=l(2155);const s={},r=i.createContext(s);function d(n){const e=i.useContext(r);return i.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function h(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(s):n.components||s:d(n.components),i.createElement(r.Provider,{value:e},n.children)}}}]); |