当前位置: 首页 > news >正文

cAdvisor监控Docker容器做性能测试

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.lryc.cn/news/199714.html

相关文章:

  • 记一次EDU证书站
  • React高频面试题100+题,这一篇就够了!
  • mysql MVC jsp实现表分页
  • 【微信小程序】数字化会议OA系统之首页搭建(附源码)
  • Leetcode——二维数组及滚动数组练习
  • 钢水包升降翻转液压系统比例阀放大器
  • 通达OA-通用版-V12,流程及表单自定义好用的类
  • 如何在vue中实现图片懒加载
  • Mac 远程桌面软件
  • EPLAN_005#宏边框、页宏、窗口宏/符号宏
  • 如何正确地使用ChatGPT(角色扮演+提示工程)
  • MySQL服务安装与登录
  • 论文阅读之《Kindling the Darkness: A Practical Low-light Image Enhancer》
  • 性能测试基础知识及性能指标
  • ArcGIS笔记10_如何创建渔网?
  • Jmeter安装(快速入门)
  • 一个react前端项目中的配置文件作用解析
  • MAC 配置 Maven
  • vue3.0 + element plus upload图片 上传
  • Leetcode 18:四数之和
  • word误删除的文件怎么恢复?恢复办法分享
  • 提高Qt开发软件运算性能提升
  • WordPress SMTP邮件发送插件 Easy WP SMTP
  • 大咖云集,智慧碰撞|第 18 届 CLK 大会完整议程揭晓(内附报名通道)
  • springweb+vue前后端分离开发,集成部署
  • 美芯片禁令再次扩大,波及英伟达、AMD以及intel等科技公司 | 百能云芯
  • Docker入门到精通教程
  • Java 对象是什么样子的?
  • 自动驾驶的法律和伦理问题
  • Uniapp 增加百度统计代码