环境准备

准备两台服务器环境,配置相同,分别安装Centos7,mysql8.0,docker mysql 8.0

准备测试代码

    public class Chat
{
public static long Count = 0;
public Chat() {
}
public static void AddChat()
{
var context = new IM.Data.MySQLContext();
while (true)
{
var chat = new IM.Data.ChatRecordTb
{
UserId = "F62E97C5-98E0-4473-B933-08D7787382C",
UserHeadPortrait = "http://www.baidu.com/2023-3-13/952824521354142234544.jpg",
UserName = "测试用户",
TextType = 1,
ChatText = "*****************很长的文字**********************",
FileSrc = "",
ThumbnailSrc = "",
CreateTime = DateTime.Now
};
context.ChatRecordTb.Add(chat);
context.SaveChanges();
context.ChatRecordTb.Entry(chat).State = EntityState.Detached; //+1
Interlocked.Increment(ref Count);
}
}
}

使用ORM框架(EF)进行数据库操作,ORM部分就不展示,在控制台进行调用

//多线程添加,10个线程
for (var i = 0; i < 10; i++)
{
var task = new Task(ConsoleApp1.Chat.AddChat);
task.Start();
} while (true)
{
var startCount = ConsoleApp1.Chat.Count;
System.Threading.Thread.Sleep(10000);
var endCount = ConsoleApp1.Chat.Count;
Console.WriteLine($"10秒一共写入{endCount - startCount}行条数据,总行数:{endCount}");
}

祼机mysql性能

mysql的性能是随着配置不同,逞现不同性能,这是的性能是指当前配置下的性能。

应该是硬盘IO达到瓶颈,线程多与少己经没不能引起写入性能的大性幅提升,平均性能大概在2000条/S

Docker mysql 性能

相同的代码在docker下的mysql 相比之下似乎稳定很多, 无论是控制台数据统计,ESXI的数据统计,都可以看到docker下的mysql 很顺滑,同样CPU消耗明显略高,数据库写入速度大概为2500条/S

结尾

两者的mysql版本相同均为:8.0.32,相比之下感觉dokcer下写入更稳定,性能之间似乎没有什么明显的区别。

Linux系统下祼机安装mysql8.0和docker mysql 8.0 性能差异对比~的更多相关文章

  1. Linux系统下DHCP服务安装部署和使用详解

    一.概述 DHCP :动态主机设置协议(英语:Dynamic Host Configuration Protocol,DHCP)是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:用于内部网或 ...

  2. Linux系统下Redis缓存安装配置

    Redis是一个高性能的key-value数据库,现时越来越多企业与应用使用Redis作为缓存服务器.楼主是一枚JAVA后端程序员,也算是半个运维工程师了.在Linux服务器上搭建Redis,怎么可以 ...

  3. LINUX系统下PXE网络安装虚拟机

    PXE(preboot execute environment),预启动执行环境.由于安装系统的时候,有时候是大批量的安装:这时使用磁盘或虚拟机进行单个安装,效率太差:所以我们开始使用PXE网络安装L ...

  4. linux 系统下Anaconda的安装【安装python3.6环境首选】

    如果你不想使用python3.6的源码安装包,不想各种繁琐的配置命令,那Anacoda里边自带的python3.6环境就最合适不过了,下面来介绍下anacoda的安装过程,~so easy~Anaco ...

  5. Linux系统下给VMWare安装Tools

    1.进入Linux系统. 2.在VMware的窗口菜单中选VM >> install VMware Tools,虚拟机自动将VMware-tools装入虚拟光驱中. 3.在虚拟光驱里找出V ...

  6. Linux系统下源码安装rz/sz命令

    背景:在windows环境下,使用xshell远程连接公司内部做的一个类似centos的系统,但该linux系统yum install有问题,只能源码安装. root 账号登陆后,依次执行以下命令: ...

  7. Windows和Linux系统下,虚拟环境安装的全面说明和详细步骤

    虚拟环境的创建和使用 用途: ​ 1.在同一台电脑安装同一个包的不同版本 2.记录项目所用的所有的包的版本,方便部署. 如何使用: 1.创建虚拟环境 mkvirtualenv 虚拟环境名 -p pyt ...

  8. linux系统下开发环境安装与配置

    安装系统环境 CentOS 6.8 64位 jdk版本 7u80 64位 Tomcat版本 Tomcat7 maven版本 Apache Maven 3.6.0 vsftpd版本 vsftpd-2.2 ...

  9. Linux系统下 Rsync 环境安装搭建

    一.Rsync简介 1.认识 Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件.Rsync使用所谓的“Rsync算法”来使本地和远 ...

  10. Linux系统下的Nginx安装

    nginx可以使用各平台的默认包来安装,本文是介绍使用源码编译安装,包括具体的编译参数信息. 正式开始前,编译环境gcc g++ 开发库之类的需要提前装好,这里默认你已经装好. ububtu平台编译环 ...

随机推荐

  1. RMAN架构

    关于 RMAN 环境 Recovery Manager 环境由在备份和恢复策略中发挥作用的各种应用程序和数据库组成. RMAN 环境的组件 组件 描述 RMAN 客户端 管理目标数据库的备份和恢复操作 ...

  2. Yii2安装步骤

    通过 Composer 安装了半天一直网络报错,配置了镜像,又报错依赖,运行跳过依赖,这个命令还是报错,我裂开. 最后只能利用归档文件安装,1.下http://www.yiiframework.com ...

  3. 如何保证RabbitMQ不会被重复消费?

    为什么会有重复消费? 做一个标志! 在将生产者写消息的时候,对数据做一个唯一标识.消费者在消费消息时,根据这个唯一标识做判断,如果这个唯一标识被消费过了,那么就 不消费了,如果判断结果是没有被消费过, ...

  4. 【python】绘图坐标轴标题中包含上标或下标

    plt.ylabel("流量($\mathregular{m^3}$/s)")          #绘图坐标轴添加上标$\mathregular{m^3}$,若是下标m_3 不加m ...

  5. lua按某些键排序的方法

    function sort(list, ...) local opts = {...}; local len = #opts; return table.sort(list, function(a, ...

  6. python使用openpyxl读取合并单元格的值(转)

    目录问题:解决思路:问题:假设在test.xlsx的"Sheet1"工作表中,A1:D3区域的值如下:要求给定指定的行.列以及对应的工作表作为参数,能够正确解析合并单元格,获取指定 ...

  7. layui相关问题总结

    1.layui table回显选中 1) radio: done:function(res, curr, count){ for(var i = 0; i < res.data.length; ...

  8. VUE安装环境及项目创建

    Vue环境安装配置 安装git工具,便于在wind电脑上操作命令行,自行在网上下载安装,(可以不安装)使用cmd. 安装node,检查node安装是否成功,在git工具中输入node -v(如果成功的 ...

  9. PTA1004 成绩排名 (20 分)

    PTA1004 成绩排名 读入 n(>0)名学生的姓名.学号.成绩,分别输出成绩最高和成绩最低学生的姓名和学号. 输入格式: 每个测试输入包含 1 个测试用例,格式为 第 1 行:正整数 n 第 ...

  10. git commit --amend适用场景详解

    适用场景: 场景1.本地开发代码已提交,提交后发现这次提交的代码有问题,或者漏提交了一些文件,此时,希望达到以下目的: ①修改有问题的代码. ②补足漏提交的文件(一般是新增的文件没有git add . ...