Docker搭建mysql性能测试环境

OpenEuler使用Docker搭建mysql性能测试环境

一、安装Docker

  1. 建立源文件
    vim  /etc/yum.repos.d/docker-ce.repo
    
    增加内容
    [docker-ce-stable]
    name=Docker CE Stable - $basearch
    baseurl=https://repo.huaweicloud.com/docker-ce/linux/centos/8/$basearch/stable
    enabled=1
    gpgcheck=1
    gpgkey=https://repo.huaweicloud.com/docker-ce/linux/centos/gpg
    
    [docker-ce-stable-debuginfo]
    name=Docker CE Stable - Debuginfo $basearch
    baseurl=https://repo.huaweicloud.com/docker-ce/linux/centos/8/debug-$basearch/stable
    enabled=0
    gpgcheck=1
    gpgkey=https://repo.huaweicloud.com/docker-ce/linux/centos/gpg
     
    [docker-ce-stable-source]
    name=Docker CE Stable - Sources
    baseurl=https://repo.huaweicloud.com/docker-ce/linux/centos/8/source/stable
    enabled=0
    gpgcheck=1
    gpgkey=https://repo.huaweicloud.com/docker-ce/linux/centos/gpg
     
    [docker-ce-test]
    name=Docker CE Test - $basearch
    baseurl=https://repo.huaweicloud.com/docker-ce/linux/centos/8/$basearch/test
    enabled=0
    gpgcheck=1
    gpgkey=https://repo.huaweicloud.com/docker-ce/linux/centos/gpg
     
    [docker-ce-test-debuginfo]
    name=Docker CE Test - Debuginfo $basearch
    baseurl=https://repo.huaweicloud.com/docker-ce/linux/centos/8/debug-$basearch/test
    enabled=0
    gpgcheck=1
    gpgkey=https://repo.huaweicloud.com/docker-ce/linux/centos/gpg
     
    [docker-ce-test-source]
    name=Docker CE Test - Sources
    baseurl=https://repo.huaweicloud.com/docker-ce/linux/centos/8/source/test
    enabled=0
    gpgcheck=1
    gpgkey=https://repo.huaweicloud.com/docker-ce/linux/centos/gpg
     
    [docker-ce-nightly]
    name=Docker CE Nightly - $basearch
    baseurl=https://repo.huaweicloud.com/docker-ce/linux/centos/8/$basearch/nightly
    enabled=0
    gpgcheck=1
    gpgkey=https://repo.huaweicloud.com/docker-ce/linux/centos/gpg
     
    [docker-ce-nightly-debuginfo]
    name=Docker CE Nightly - Debuginfo $basearch
    baseurl=https://repo.huaweicloud.com/docker-ce/linux/centos/8/debug-$basearch/nightly
    enabled=0
    gpgcheck=1
    gpgkey=https://repo.huaweicloud.com/docker-ce/linux/centos/gpg
     
    [docker-ce-nightly-source]
    name=Docker CE Nightly - Sources
    baseurl=https://repo.huaweicloud.com/docker-ce/linux/centos/8/source/nightly
    enabled=0
    gpgcheck=1
    gpgkey=https://repo.huaweicloud.com/docker-ce/linux/centos/gpg	 
    
  2. 安装Docker
  • 安装docker(docker-ce 社区版 而ee是企业版)

    yum install -y docker-ce docker-ce-cli containerd.io
    
  • 配置国内的镜像源

    vim /etc/docker/daemon.json
    
  • 进行编辑(json格式)

    {
     "registry-mirrors": ["http://hub-mirror.c.163.com","https://registry.docker-cn.com","https://docker.mirrors.ustc.edu.cn"]
    }
    
  • 启动,并设置为开机自启(因为你加了日志生成路径,可能会出错,不要慌!!可以查看后面解决方法)

    (1) 刷新daemon.json文件

    systemctl daemon-reload
    

    (2) 启动Docker服务

    systemctl enable --now docker
    systemctl start docker		
    
  • 重启

    systemctl restart docker
    
  • 设置开机自动启动

    systemctl enable docker
    
  • 测试

    docker run hello-world
    
  • 查看docker 当前的状态

    systemctl status docker
    
  • 查看具体的错误信息

    systemctl status docker -l
    systemctl status docker.service
    
  • 查看docker的版本信息

    docker version
    

二、docker安装mysql

  1. 拉取MySQL镜像
    在进行MySQL容器的部署之前,需要先拉取MySQL镜像。可以通过以下命令拉取官方提供的MySQL镜像:

    docker pull mysql
    
  2. 创建MySQL容器
    先创建一个简单的mysql容器实例

    docker run -p 3306:3306 --name  sample-mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest
    

    复制里面的/etc/mysql文件夹

    docker cp sample-mysql:/etc/mysql/. /data/mysql/conf
    

    删除掉临时容器

    docker rm -f sample-mysql
    

    启动完整的容器命令

    docker run
    -p <映射端口>:<服务端口>
    –name mysql
    -e MYSQL_ROOT_PASSWORD=123456
    -v /data/mysql/log:/var/log/mysql
    -v /data/mysql/data:/var/lib/mysql
    -v /data/mysql/conf:/etc/mysql
    –privileged=true
    -d mysql:xxx(docker拉取的mysql的镜像版本号)

    示例:
    自定义端口启动完整命令

    docker run -p 13306:3306 --name mysql01 --restart=always --privileged=true \
    -v /data/mysql/log:/var/log/mysql \
    -v /data/mysql/data:/var/lib/mysql \
    -v /data/mysql/conf:/etc/mysql \
    -v /etc/localtime:/etc/localtime:ro \
    -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest
    

    启动命令解释:

    -p 3306:3306:指定宿主机端口与容器端口映射关系
    –name mysql:创建的容器名称
    –restart=always:总是跟随docker启动
    –privileged=true:获取宿主机root权限
    -v /usr/local/mysql/log:/var/log/mysql:映射日志目录,宿主机:容器
    -v /usr/local/mysql/data:/var/lib/mysql:映射数据目录,宿主机:容器
    -v /usr/local/mysql/conf:/etc/mysql:映射配置目录,宿主机:容器
    -v /etc/localtime:/etc/localtime:ro:让容器的时钟与宿主机时钟同步,避免时区的问题,ro是read only的意思,就是只读。
    -e MYSQL_ROOT_PASSWORD=123456:指定mysql环境变量,root用户的密码为123456
    -d mysql:latest:后台运行mysql容器,版本是latest。

    命令执行之后如下图:
    在这里插入图片描述

三、测试mysql连接

使用数据库连接工具测试mysql是否能够连接

mycli -h 127.0.0.1 -P 13306 -u root -p 123456

连接成功结果如下图:
在这里插入图片描述

  • 22
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Docker性能测试主要是评估Docker容器运行效率和响应时间,确保其满足预期的部署和使用需求。以下是进行Docker性能测试的一些关键方面: 1. **基础性能指标**: - **启动时间**:测试从创建镜像到容器启动所需的时间。 - **资源占用**:包括CPU、内存、磁盘I/O和网络带宽的使用情况。 - **负载能力**:在压力下,容器能够处理多少请求或并发任务。 2. **镜像优化**: - **打包优化**:检查镜像大小和加载速度,减少不必要的层和文件。 - **依赖管理**:确保容器内的运行时依赖正确处理,避免版本冲突。 3. **网络性能**: - **网络延迟**:测试容器之间的通信延迟,特别是在网络密集型应用中。 - **端口映射**:验证端口映射对性能的影响。 4. **持久化卷**: - **I/O性能**:测试写入和读取数据到挂载卷的速度。 - **数据一致性**:验证数据在容器重启后是否保持一致。 5. **高可用性测试**: - **恢复时间**:模拟故障并查看容器的自动恢复性能。 - **集群性能**:在多个节点上运行容器,测试分布式环境下的性能。 6. **监控和日志**: - **性能指标监控**:使用工具如Prometheus和Grafana监控关键性能指标。 - **日志分析**:确保日志记录和分析不会影响性能。 相关问题--: 1. 如何衡量Docker容器的启动性能? 2. 性能测试中如何优化镜像以提高性能? 3. 在分布式环境中,如何进行Docker容器的网络性能测试

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

高晓伟_Steven

相逢即是有缘,动力源于金钱。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值