环境准备

准备两台服务器环境,配置相同,分别安装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. AJAX-动力节点

    AJAX(Asynchronous Javascript And Xml) 传统请求及缺点 传统的请求都有哪些? 直接在浏览器地址栏上输入URL. 点击超链接 提交form表单 使用JS代码发送请求 ...

  2. 波利亚(George Pólya)的一些链接

    忽然决定还是要写个博客. 第一篇献给波利亚. 他最有名的应该是<怎样解题>(How to solve it)这本书了.我认为只要读了前面几页就能提高普通人解决问题的能力,真的应该列为中学必 ...

  3. mysql 删除数据所有表

    SELECT CONCAT('drop table ',table_name,';') FROM information_schema.`TABLES` WHERE table_schema='car ...

  4. git 报错 incorrect username or password

    如果报这个 就是用户名 或密码错误 添加个正确的凭据就好了

  5. 关于DELL服务器风扇远程控制失效

    关于DELL服务器风扇远程ipmitool控制失效 去年12月,公司突然断电,公司有一台DELL 720XD服务器,自从断电之后,使用ipmitool命令行控制风扇速度就失效了,因为之前忙其他的项目, ...

  6. java pta第三次阶段性总结

    一.前言 这是这学期最后一次总结,这三次的pta大作业也是最后一次,这几次大作业主要写了电信计费系统的主要功能,第一次大作业是座机计费功能,第二次大作业是手机计费功能,第三次大作业是短信计费的功能.这 ...

  7. 通过Linux的socket套接字实现客户端与服务器端的通信

    具体案例:使用树莓派ds18b20温度传感器实现温度上报 首先需要获得传感器文件中保存的温度信息: 温度信息通常保存在路径为"/sys/bus/w1/devices/28-xxxxxxxxx ...

  8. vue、react配置gzip打包后,删除源文件deleteOriginalAssets: true,nginx需要的配置

    1.删除源文件后,配置了gzip,当配置gzip删除源文件后,解决前端history问题,就会出现所有的都返回html,请求js.css也会返回html,页面会报错,如下配置即可 location / ...

  9. 12.21linux学习第二十天

    今天老刘讲最后一章,第20章使用LNMP架构部署动态网站环境.定制安装17个安装包,编译安装要花很长时间,需要漫长的等待. LNMP动态网站部署架构是一套由Linux + Nginx + MySQL ...

  10. re相关正则表达式(re.sub、re.I 、re.S、re.M)

    re.I 表示忽略大小写 re.S 表示全文匹配 re.M 表示全文拼配行尾段位的字符或者数字,影响^和$ re.sub 表示替换 使用方法: re.sub(pattern, repl, string ...