重庆网站建站建设平台为什么要做手机网站
重庆网站建站建设平台,为什么要做手机网站,创建网站目录权限,广东建设报网站1. 前言入门篇我们已经成功运行hello.benchmarks.yml并输出测试结果#xff0c;本篇我们就hello.benchmarks.yml、以及运行的shell脚本详细解读下其中的含义2. 剖析hello.benchmarks.yml2.1. job在hello.benchmarks.yml中我们定义了一个新的job: server#xff0c;并指定了仓… 1. 前言入门篇我们已经成功运行hello.benchmarks.yml并输出测试结果本篇我们就hello.benchmarks.yml、以及运行的shell脚本详细解读下其中的含义2. 剖析hello.benchmarks.yml2.1. job在hello.benchmarks.yml中我们定义了一个新的job: server并指定了仓库信息 ( 远程仓库 )repositoryhttps://github.com/doddgu/crank.git # 仓库源branchOrCommitsample # 分支project: samples/hello/hello.csproj # 项目并通过import导入了bombardier.yml其中定义了另外一个job: bombardier并指定了仓库信息 ( 远程仓库 ):repository: https://github.com/doddgu/crank.gitbranchOrCommit: sampleproject: src/Microsoft.Crank.Jobs.Bombardier/Microsoft.Crank.Jobs.Bombardier.csprojsourceKey: bombardier # 服务器使用它来重用相同的源文件夹。noBuild: true # 定义 SourceKey时指示是否仍应进行构建2.2. scenarios在hello.benchmarks.yml中我们定义了场景: hello并为此场景指定了两个任务:第一个任务名为application使用的是项目server第二个任务名为load并指定使用项目bombardier2.3. variables 变量在bombardier.yml中定义了全局变量: headers、presetHeaders预设header定义了局部变量: connections、warmup、duration、requests、rate、transport、serverScheme等等在hello.benchmarks.yml中为load定义了局部变量serverPort、path2.4. profiles 配置在hello.benchmarks.yml中我们定义了配置local并指定了局部变量: serverAddress localhost为任务application、load指定了部署作业的endpoint 是 http://localhost:5010 指定执行任务的Agent地址2.5. arguments 参数在bombardier.yml中与variables同级的配置: arguments此参数是在启动job后传递的参数其中定义的全局参数、局部参数信息也都是为构建完整的参数做准备bombardier真实的参数信息是:-c {{connections}} -w {{warmup}} -d {{duration}} -n {{requests}} --insecure -l {% if rate ! 0 %} --rate {{ rate }} {% endif %} {% if transport %} --{{ transport}} {% endif %} {{headers[presetHeaders]}} {% for h in customHeaders %}{% assign s h | split : : %}--header \{{ s[0] }}: {{ s[1] | strip }}\ {% endfor %} {% if serverUri blank or serverUri empty %} {{serverScheme}}://{{serverAddress}}:{{serverPort}}{{path}} {% else %} {{serverUri}}:{{serverPort}}{{path}} {% endif %} {% if bodyFile ! blank and bodyFile ! empty %} -f {{bodyFile}} {% endif %} {% if verb ! blank and verb ! empty %} -m {{verb}} {% endif %}3. 改造hello.benchmarks.yml改造hello.benchmarks.yml不考虑重用最原始的代码如下variables:headers:none: plaintext: --header Accept: text/plain,text/html;q0.9,application/xhtmlxml;q0.9,application/xml;q0.8,*/*;q0.7 --header Connection: keep-alivehtml: --header Accept: text/html,application/xhtmlxml,application/xml;q0.9,*/*;q0.8 --header Connection: keep-alivejson: --header Accept: application/json,text/html;q0.9,application/xhtmlxml;q0.9,application/xml;q0.8,*/*;q0.7 --header Connection: keep-aliveconnectionclose: --header Connection: closepresetHeaders: nonejobs:bombardier:source:repository: https://github.com/dotnet/crank.gitbranchOrCommit: mainproject: src/Microsoft.Crank.Jobs.Bombardier/Microsoft.Crank.Jobs.Bombardier.csprojsourceKey: bombardiernoBuild: truereadyStateText: Bombardier ClientwaitForExit: truevariables:connections: 256warmup: 15duration: 15requests: 0rate: 0transport: fasthttp # | http1 | http2serverScheme: httpserverAddress: localhostserverPort: 5000path: bodyFile: # path or url for a file to use as the body contentverb: # GET when nothing is specifiedcustomHeaders: [ ] # list of headers with the format: name1: value1, e.g. [ content-type: application/json ]arguments: -c {{connections}} -w {{warmup}} -d {{duration}} -n {{requests}} --insecure -l {% if rate ! 0 %} --rate {{ rate }} {% endif %} {% if transport %} --{{ transport}} {% endif %} {{headers[presetHeaders]}} {% for h in customHeaders %}{% assign s h | split : : %}--header \{{ s[0] }}: {{ s[1] | strip }}\ {% endfor %} {% if serverUri blank or serverUri empty %} {{serverScheme}}://{{serverAddress}}:{{serverPort}}{{path}} {% else %} {{serverUri}}:{{serverPort}}{{path}} {% endif %} {% if bodyFile ! blank and bodyFile ! empty %} -f {{bodyFile}} {% endif %} {% if verb ! blank and verb ! empty %} -m {{verb}} {% endif %}onConfigure: # - job.timeout Number(job.variables.duration) Number(job.variables.warmup) 10; endpoints: - http://localhost:5010server:source:repository: https://github.com/doddgu/crankbranchOrCommit: sampleproject: samples/hello/hello.csprojreadyStateText: Application started.endpoints: - http://localhost:5010scenarios:hello:application:job: serverload:job: bombardiervariables:serverPort: 5000path: /4. 解读crank shell之前我们通过shell执行crank --config hello.benchmarks.yml --scenario hello --profile local --load.framework net5.0 --application.framework net5.0其中crank 是固定的、代表Crank Controller--config固定的配置指执行哪个yml配置每次仅能指定一个yml配置--scenario固定的配置设置场景是hello--profile固定的配置非必选可多次设置指定当前Crank命令申请的配置是local使用local下配置的所有信息--load.framework: 格式任务名.framework为任务load指定framework的运行框架版本是net5.0、--application.framework同理改造hello.benchmarks.yml因为移除了profile所以执行: crank --config hello.yml --scenario hello --load.framework net5.0 --application.framework net5.0 即可查看crank更多文档5. 疑问为什么启动crank时要增加--application.framework net5.0安装crank要求必须有net5.0的环境所以指定net5.0不需要再单独安装框架环境为什么启动crank时不指定framework时默认是netcore3.1呢使用记事本打开hello.csproj、Microsoft.Crank.Jobs.Bombardier.csproj 即可了解scenarios节点下application以及load两个节点名称可以更换吗只能有两个节点节点名称不固定可以更换也没有限制必须是两个节点具体多少个节点根据自己的需要来6. 结尾通过上面的学习我们也已经完全的了解了各配置的作用但对bombardier.yml与开源项目bombardier存在什么样的联系还不清楚以及为什么叫做bombardier.yml而不是其他名字并且是如何实现性能指标的输出接下来就会讲到bombardier.yml与开源项目bombardier的关系以及wrk.yml与wrk的关系源码地址https://github.com/doddgu/crank/tree/sample开源地址MASA.BuildingBlockshttps://github.com/masastack/MASA.BuildingBlocksMASA.Contribhttps://github.com/masastack/MASA.ContribMASA.Utilshttps://github.com/masastack/MASA.UtilsMASA.EShophttps://github.com/masalabs/MASA.EShopMASA.Blazorhttps://github.com/BlazorComponent/MASA.Blazor如果你对我们的 MASA Framework 感兴趣无论是代码贡献、使用、提 Issue欢迎联系我们
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/88844.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!