cAdvisor监控Docker容器做性能测试

news2024/11/7 22:42:46

cAdvisor监控Docker容器做性能测试

缘起

当前有个服务做技术选型,服务要求比较高的性能,要做性能测试。部署的环境是容器话部署,但申请新的容器流程较长,于是我打算在流程走完之前简单评估下性能,来确定技术选型是否可行。当前有一个测试服务器上装有Docker。

Docker启动容器并部署

将服务打包上传至服务器,启动一个Docker容器

docker run -it -d -v /home/xxx:/opt -p 0.0.0.0:9002:8080 --name=test-service  debian11:latest
# -i: 代表使用交互
# -t: 代表打开一个终端
# -d: 代表后台运行
# -v: 代表挂载目录  冒号之前是本机目录,冒号之后是容器内部目录
# -p: 端口映射 冒号之前是本机端口,冒号之后是容器端口
# --name=容器名: 代表给容器起一个别名

启动完成后将服务的可执行文件上传至/home/xxx下,进入容器:

docker exec -it test-service /bin/bash
# -it同上
# /bin/bash是打开/bin/bash作为交互的终端

进入后拷贝容器内/opt下的服务的可执行文件到发布目录,启动服务。
给Docker加限制,使其和要求CPU,内存资源一致

docker update --cpus 1 test-service
docker update -m 1024M test-service

安装监控工具cAdvisor

执行压力测试肯定要监控资源使用情况,虽然top命令可以看,但毕竟看到的是Docker这个进程的使用情况,并不能真实反映Docker内部服务的,并且只是数据展示的话也不直观。Docker提供了docker stats 容器名/容器ID查看资源使用情况,效果如下:
在这里插入图片描述但看下来也不是很直观,那么有没有一个比较直观的工具呢,有,那就是cAdvisor。
github地址: https://github.com/google/cadvisor
项目建议启动容器去查看:

VERSION=v0.36.0 # use the latest release version from https://github.com/google/cadvisor/releases
sudo docker run \
  --volume=/:/rootfs:ro \
  --volume=/var/run:/var/run:ro \
  --volume=/sys:/sys:ro \
  --volume=/var/lib/docker/:/var/lib/docker:ro \
  --volume=/dev/disk/:/dev/disk:ro \
  --publish=8080:8080 \
  --detach=true \
  --name=cadvisor \
  --privileged \
  --device=/dev/kmsg \
  gcr.io/cadvisor/cadvisor:$VERSION

我登陆上docker hub看了下,因为网络太卡就放弃,并且公司内网有限制,并不能去docker hub下载镜像,会被拦截。于是我在cAdvisor的releases翻了一下,发现有打好的二进制包,直接下载并启动
在这里插入图片描述
访问服务器的8080端口展示如下:
在这里插入图片描述
Subcontainers下面就是我启动的容器,点进去可以看到CPU,内存,磁盘等监控。

效果

贴几张效果图
CPU:
在这里插入图片描述

内存:
在这里插入图片描述

Docker内部进程占用:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1114748.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

微信聚合聊天系统的便捷功能:自动回复

当下,微信已然成为我们在工作中必不可少的沟通工具。但由于微信平台尚未开放自动回复、快捷回复等便捷功能,在通过平台展开工作时,一旦咨询量非常大,往往会出现回复不及时的情况。如此一来便会影响客户的满意度,降低客…

记一次EDU证书站

如果文章对你有帮助,欢迎关注、点赞、收藏一键三连支持以下哦! 想要一起交流学习的小伙伴可以加zkaq222(备注CSDN,不备注通不过哦)进入学习,共同学习进步 目录 目录 1.前言: 2.信息搜集 3.漏…

H5前端开发——BOM

H5前端开发——BOM BOM(Browser Object Model)是指浏览器对象模型,它提供了一组对象和方法,用于与浏览器窗口进行交互。 通过 BOM 对象,开发人员可以操作浏览器窗口的行为和状态,实现与用户的交互和数据传…

sahi切片辅助训练推理

本文的目的切片yolov5标注格式的数据,并保存图片和标注文件 代码实现步骤如下 把yolov5格式转换成coco格式标签;切片图片和coco标签;把切片出来的coco标签转换回yolov5标签格式 # 1. 把yolov5格式转换成coco格式标签; # 2. 切片…

Java关键字 `super` 的骚操作

文章目录 1. 调用父类构造方法2. 访问父类属性和方法3. 创建父类引用4. 在接口中使用 super5. 在 Lambda 表达式中使用 super6. 异常处理结语 🎉欢迎来到Java学习路线专栏~Java关键字 super 的骚操作 ☆* o(≧▽≦)o *☆嗨~我是IT陈寒🍹✨博客主页&#…

Android gradle动态配置不同打包环境参数值

一、背景 在android开发中,包的构建通过gradle脚本来完成的,这个脚本也提供了很多东西来配合我们开发。最常见的类似渠道和不同版本包。 打包的配置常见的是buildTypes节点,通过buildTypes设置不同的action完成不同包的输出 二、gradle的Jav…

(八)vtk常用类的常用函数介绍(附带代码示例)

vtk中类的说明以及函数使用 https://vtk.org/doc/nightly/html/annotated.html 一、vtkObject派生类 1.vtkPoints 点 InsertNextPoint(double, double, double):插入点。 2.vtkCellArray 单元数组 InsertNextCell (vtkIdType npts, const vtkIdType *pts)&…

【底层服务/编程功底系列】「大数据算法体系」带你深入分析MapReduce算法 — Shuffle的执行过程

【底层服务/编程功底系列】「大数据算法体系」带你深入分析MapReduce算法 — Shuffle的执行过程 Shuffle是什么Shuffle的流程处理map任务的执行流程reduce任务的执行流程 Shuffle过程分析和优化map任务深入分析细化步骤分析1. 数据分片读取2. 分配计算Reduce服务Partitioner分区…

LINUX | hexdump以16进制查看文件内容

LINUX | hexdump以16进制查看文件内容 时间:2023-10-20 文章目录 LINUX | hexdump以16进制查看文件内容1.参考2.示例1.以ASCII字符显示文件中字符2.以16进制和相应的ASCII字符显示文件里的字符3.只显示文件中前n个字符4.以偏移量开始格式输出 1.参考 1.Linux命令–h…

C语言指针精简版(二)

目录 数组名的理解 使⽤指针访问数组 ⼀维数组传参的本质 冒泡排序 ⼆级指针及其解引用 指针数组 实例:指针数组模拟⼆维数组 数组名的理解 对于数组名表示的意义一共有三种情况: *1、数组名:表示数组⾸元素地址。 *2、sizeof(数组名…

中文编程工具开发语言开发的实际案例:触摸屏点餐软件应用场景实例

中文编程工具开发语言开发的实际案例:触摸屏点餐软件应用场景实例 软件特色: 1、功能实用,操作简单,不会电脑也会操作,软件免安装,已内置数据库。软件在关闭的时候,可以设置会员数据备份到U盘&…

@Controller与@RestController

总结 Controller :定义一个控制器类. RequestMapping :给出外界访问方法的路径,或者说触发路径 ,触发条件。 具体解析访问路径到某个方法上. ResponseBody :标记Controller类中的方法。把return的结果变成JSON对象…

束从轩的“网红人设”,正在加重老乡鸡的割裂

文 | 螳螂观察 作者 | 图霖 “老乡鸡20周年,我请大家免费吃饭。” 和以往的每场活动一样,“网红老板”束从轩穿着印有老乡鸡品牌Logo的大红短袖T恤,向广大网友发出热情邀请,真诚得像是自家村口小卖部好客的大叔。 这并不是束从…

虹科 | 测试方案 | 汽车示波器 通讯网络(LIN/CAN/FlexRay)测试方案

通讯网络(LIN/CAN/FlexRay)测试 虹科CAN总线示波器把你的PC电脑变成一台功能强大的汽车测试工具,用于检测车辆网络各类通讯信号,如CAN Bus、CAN FD、LIN、FlexRay,还可以检测车上所有传感器和执行器的信号 串行译码 …

【动态规划】647. 回文子串、516. 最长回文子序列

提示:努力生活,开心、快乐的一天 文章目录 647. 回文子串💡解题思路🤔遇到的问题💻代码实现🎯题目总结 516. 最长回文子序列💡解题思路🤔遇到的问题💻代码实现&#x1f3…

计算机网络学习笔记(四):网络层(待更新)

目录 4.1 IP地址、子网划分、合并超网 4.1.1 IP地址、子网掩码、网关 4.1.2 IP地址的编址方法1:IP地址分类(A~E类地址、保留的IP地址) 4.1.4 IP地址的编址方法2:子网划分(等长、变长) 4.1.5 IP地址的编…

uview组件使用笔记

图标样式 修改图标的样式 通过color参数修改图标的颜色通过size参数修改图标的大小&#xff0c;单位为rpx 效果图 <u-icon name"photo" color"#2979ff" size"28"></u-icon>图片图标 1.3.0 这里说的图片图标&#xff0c;指的是小…

RSTP详解:对比STP,到底改进了什么?

一、RSTP概述 IEEE 802.1W中定义的RSTP可以视为STP的改进版本&#xff0c;RSTP在许多方面对STP进行了优化&#xff0c;它的收敛速度更快&#xff0c;而且能够兼容STP。 二、RSTP对STP的改进 改进点1&#xff1a;端口角色 、 改进点2&#xff1a;端口状态 RSTP的状态规范缩…

5秒盾,加速乐

5秒盾 1.先清除网站cooke在刷新&#xff0c;如果出现的稍等就有可能是5秒盾 2.用fd抓搜索参数关键字定位到包 3.抓到包后查找加密参数 4.搜索看那个位置在赋值 5.搜索赋值的参数.去找加密的js 6.删除没用的代码&#xff0c;把检测指纹的赋值过去 7.还原代码在网站的页面…

搞懂TypeScript的类型声明

.d.ts 类型声明/定义文件是 TypeScript 重要的一部分&#xff0c; 希望本文可以带你搞懂下面几个问题&#xff1a; 类型声明是怎么被TypeScirpt识别到的?怎么使用第三方包的类型声明文件&#xff1f;TypeScript代码怎么编译生成类型声明文件&#xff1f;怎么为第三方包编写类…