前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Coding执行压测操作全流程详解

Coding执行压测操作全流程详解

原创
作者头像
cailynyu
修改2022-07-29 11:17:03
9390
修改2022-07-29 11:17:03
举报

操作概览

一、压测前准备

1.压测集群购买与压测服务部署

Jmeter-Suite压测工具部署文档 - 云+社区 - 腾讯云

2.构建Coding项目

Coding平台项目构建指南 - 云+社区 - 腾讯云

3.执行demo脚本验证集群

执行demo脚本验证压测集群前需确认如下三个事项:

(1)确认压测集群的kubeconfig文件已经上传到Coding仓库的kubeconfig目录下。若无,请参考下述步骤进行配置。

a. 进入Coding项目后点击“代码仓库”,将压测脚本上传至kubeconfig目录下,点击“kubeconfig”右边的三个点,点击“上传”

b. 点击“选择文件”区域,选择压测集群的kubeconfig进行上传

c. 点击“确认”,完成上传。

(2)确认压测所需构建计划(包括但不限于压测执行与压测停止)已全部配置上最新版本的压测集群。具体检查步骤如下:

a. 进入Coding项目后点击“代码仓库”,找到已经上传完成的kubeconfig,复制其文件路径

b. 进入Coding项目后点击“构建计划”,点击压测所需构建计划右上角的三个点,然后点击“设置”

c. 在“变量与缓存”配置页,编辑KUBECONFIG配置默认值,修改为步骤a里复制的文件路径

d. 点击“确认”,完成修改。

(3)确认Coding压测构建机器ip已添加到集群外网访问白名单中。若无,请参考本文FAQ的第一个问题。

确认完成后,开始执行如下步骤进行验证:

(1)进入Coding项目后点击“持续集成->构建计划”,选择已经配置好压测集群的构建计划,点击“立即构建”

(2)在立即构建配置页面,参考本文档第5章节压测执行部分,按照默认配置执行压测任务,执行仓库里的 testScript/Test.jmx 脚本,对百度网页发起100并发的压测,点击“立即构建”

(3)参考本文档第9章节查看压测结果,如下图所示,能够查看到grafana面板上能够展示QPS、错误率等信息,表示调试完成。

二、压测执行过程

4.上传压测脚本&数据文件

注意:上传到coding平台的脚本,后端监听器中需新增一个tag,TAG_Random ${__Random(0000000000,9999999999,)},详情如下:

(1)进入Coding项目后点击“代码仓库”,将压测脚本上传至teamSrcipt目录下,点击“teamSrcipt”右边的三个点,点击“上传”

(2)点击“选择文件”区域,选择本地已经调通的脚本进行上传

(3)点击“确认”,完成上传。

5.压测执行

(1)进入项目后点击“持续集成->构建计划”,点击压测执行的红色位置。

(2)弹出下列窗口,参考“参数详解”表格对参数进行修改,随后点击“立即构建”开始执行压测任务。

参数详解:

参数

参数值

参数说明

KUBECONFIG

自定义

代码仓库中的kubecofig绝对路径;若集群已经配置完毕,则压测执行时无需修改。

NAME_SPACE

默认default

无需修改

TEST_PATH

自定义

待执行压测脚本在Coding仓库中的地址

Number_Of_Nodes

自定义

表示需要启动的节点个数,总并发数=节点数x脚本配置的并发数,可以根据需要填写需要启动的节点数,最大不会大于压测机个数,默认为10

Upload_Data_File

选项二选一 ● 上传数据文件 ● 不上传数据文件(默认值)

选择是否上传数据文件,包含代码仓库中所有txt、csv和jar文件,第一次执行时需要选择“上传数据文件”,以后如果没有新增的数据文件默认不上传(如pod重启、压测集群刚开机,都需要重新上传一次),建议定期清理仓库中的数据文件,保障文件能快速上传完成。

Split_File

选项二选一 ● 拆分数据文件 ● 不拆分数据文件(默认值)

选择是否拆分数据文件,包含代码仓库中所有txt和csv文件,如果选择“拆分数据文件”,就不用选择“上传数据文件”,建议如果需要拆分文件时才使用,比如重复数据压测导致业务异常情况,可以选择拆分数据文件(注意:①如数据文件条数小于节点数,只会拆分数据文件条数对应的节点个数,超过条数的节点将没有数据文件;②pod重启、压测集群刚开机,都需要重新拆分一次),建议定期清理仓库中的数据文件,保障文件能快速上传完成。

6.压测停止

(1)进入项目后点击“持续集成->构建计划”,点击压测停止的红色位置。

(2)弹出下列窗口,参考“参数详解”表格对参数进行修改,随后点击“立即构建”停止压测任务。

参数详解:

参数

参数值

参数说明

KUBECONFIG

自定义

代码仓库中的kubecofig绝对路径;若集群已经配置完毕,则压测执行时无需修改。

NAME_SPACE

默认default

无需修改

三、查看压测过程数据

7.查看压测数据面板

7.1 获取数据面板信息

(1)进入项目后点击“持续集成->构建计划”,执行压测任务后点击构建任务

(2)点击进入最近的构建任务

(3)进入任务后点击“压测结果面板地址”进行grafana地址查看,账号密码也在里面

注意:如果账号密码有误请尝试密码为admin或者请联系部署压测服务的同学。

7.2 查看数据面板

(1)点击获取到的面板链接,输入账号/密码即可进入grafana,点击左上角“Home”

(2)进入后选择第一个即可,点击进入

(3)选择脚本中填写的“application”即可看到最新的压测结果,“transaction”可以选择被测的接口,右上角可以选择压测时间,查看历史压测数据。

8.查看日志

8.1 查看执行过程日志

(1)压测执行任务完成后点击刚执行的任务

(2)点击最新的构建任务进入

(3)进入后点击“查看日志”(只显示压测时间段的日志)

8.2 查看业务报错日志

(1)按照8.1的步骤执行,在压测结束后,点击“查看完整日志”

(2)往下滑动就可以看到报错内容(只显示压测时间段的日志)

四、异常处理

9.清理压测数据

(1)进入Coding项目点击“创建构建计划”

(2)选择“清理集群数据库”模版

(3)按模版填写信息,完成后点击“确定”

(4)进入新页面后点击左上角的返回即可

(5)可以在全部或未分组中查看,如需清理点击构建即可,构建完成即清理完成

注意:清理前请提前做好数据截图!

10.重启压测集群

(1)进入Coding项目点击“创建构建计划”

(2)选择“重启压测集群”模版

(3)按模版填写信息,完成后点击“确定”

(4)进入新页面后点击左上角的返回即可

五、FAQ

1.压测执行时无法连接到压测服务

问题解析:Coding无法成功访问压测集群

解决方法:在TKE上对压测集群添加Coding出口ip白名单,详细步骤参考:TKE集群添加外网访问白名单 - 云+社区 - 腾讯云

2.发压线程数不稳定

解决方法:在脚本的后端监听器中需新增一个tag,TAG_Random ${__Random(0000000000,9999999999,)},详情如下:

3. 压测结束前并发数、QPS、带宽出现攀升情况

解决方法:为已知问题,可以忽略该段压测结果。

4. 压测服务部署完成后,打开Grafana报错502

问题解析:部署完成还未执行压测任务就出现502报错,说明部署过程配置出现问题

解决方法:

(1)请根据本文档第1章节的部署文档逐步检查,尤其是检查网络相关配置,白名单策略是否开通等;

(2)最快的解决方法是重装压测集群

5. Grafana查看正常,但压测一段时间后报错502

问题解析:此时说明influxdb数据库满了,一般是写入了太多错误信息导致

解决方法:清理influxdb数据库

详细步骤:请参考本文档第9章节清理压测数据

6. 无法上传超过20M的脚本或数据文件

问题解析:Coding限制上传文件的大小

解决方法:通过git上传

详细步骤:在代码仓库中复制仓库地址URL,通过git clone URL,将代码拉到本地,把数据文件放到相应的文件夹里后,再上传到代码仓库。

代码语言:javascript
复制
git clone URL # 拉取代码
git add . # 将要推送的文件都添加进来
git commit -m '解释语句' # 将修改的文件提交到本地仓库
git push origin master # 推送到仓库

7. 其他案例库文档

压测工具平台问题案例库 - 云+社区 - 腾讯云

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 操作概览
  • 一、压测前准备
    • 1.压测集群购买与压测服务部署
      • 2.构建Coding项目
        • 3.执行demo脚本验证集群
        • 二、压测执行过程
          • 4.上传压测脚本&数据文件
            • 5.压测执行
              • 6.压测停止
              • 三、查看压测过程数据
                • 7.查看压测数据面板
                  • 7.1 获取数据面板信息
                  • 7.2 查看数据面板
                • 8.查看日志
                  • 8.1 查看执行过程日志
                  • 8.2 查看业务报错日志
              • 四、异常处理
                • 9.清理压测数据
                  • 10.重启压测集群
                  • 五、FAQ
                    • 1.压测执行时无法连接到压测服务
                      • 2.发压线程数不稳定
                        • 3. 压测结束前并发数、QPS、带宽出现攀升情况
                          • 4. 压测服务部署完成后,打开Grafana报错502
                            • 5. Grafana查看正常,但压测一段时间后报错502
                              • 6. 无法上传超过20M的脚本或数据文件
                                • 7. 其他案例库文档
                                相关产品与服务
                                持续集成
                                CODING 持续集成(CODING Continuous Integration,CODING-CI)全面兼容 Jenkins 的持续集成服务,支持 Java、Python、NodeJS 等所有主流语言,并且支持 Docker 镜像的构建。图形化编排,高配集群多 Job 并行构建全面提速您的构建任务。支持主流的 Git 代码仓库,包括 CODING 代码托管、GitHub、GitLab 等。
                                领券
                                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档