mysql5驱动_技术分享 | MySQL 8 和 MySQL 5.7 在小型设备的内存消耗分析
原创: 管长龙 译
作者:Peter Zaitsev
虽然我们经常在较大规模的系统上运行 MySQL ,但我们常常在最小的云实例上运行MySQL,或者只在我们的笔记本电脑上运行它。在这些情况下,MySQL 8 和 MySQL 5.7 的内存消耗非常重要。
在比较 MySQL 8 和 MySQL 5.7 时,您应该知道 MySQL 8 会使用更多内存。对运行相同轻量级工作负载的 MySQL 8 和 MySQL 5.7(实际上它们是 Percona Server 版本)的 1GB VM 进行基本测试。
我看到以下 vmstat 输出:
MySQL 5.7 vmstat 输出
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----r b swpd free buff cache si so bi bo in cs us sy id wa st4 0 65280 71608 58352 245108 0 0 2582 3611 1798 8918 18 9 11 33 304 0 65280 68288 58500 247512 0 0 2094 2662 1769 8508 19 9 13 30 293 1 65280 67780 58636 249656 0 0 2562 3924 1883 9323 20 9 7 37 274 1 65280 66196 58720 251072 0 0 1936 3949 1587 7731 15 7 11 36 31
MySQL 8.0 vmstat 输出
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----r b swpd free buff cache si so bi bo in cs us sy id wa st9 1 275356 62280 60832 204736 0 0 2197 5245 2638 13453 24 13 2 34 273 0 275356 60548 60996 206340 0 0 1031 3449 2446 12895 25 11 10 28 267 1 275356 78188 59564 190632 0 1 2448 5082 2677 13661 26 13 6 30 254 1 275356 76516 59708 192096 0 0 2247 3750 2401 12210 22 12 4 38 24
正如您所看到的,MySQL 8 使用了大约 200MB 的 swap 分区,并且使用更少的系统缓存,被分配更多内存。
如果我们查看“top”命令的输出,我们会看到:MySQL 5.7
MySQL 8.0
这也展示出 MySQL8 使用的更多常驻内存和虚拟内存。特别是“可怕的”虚拟内存,因为它远远超过这些 VM 上可用的 1GB 物理内存。当然,虚拟内存使用(VSZ)是现代应用程序实际内存需求的一个很差的指标,但它确实证实了更高的内存需求这个事。
实际上,正如我们从 “vmstat” 输出中所知道的那样,即使没有太多的“空间”,MySQL 8 和 MySQL 5.7 都不会在低负载下使用 swap 分区。如果您有多个连接或希望在同一个 VM 上运行某些应用程序,则可以使用 swap(如果未启用交换,则可能导致 OOM)。
这是一个有趣的实验,能看看我有多少可以驱动 MySQL 5.7 和 MySQL 8 的内存消耗。以下是我用于此测试的配置:
[mysqld]
innodb_buffer_pool_size=256M
innodb_buffer_pool_instances=1
innodb_log_file_size=1G
innodb_flush_method=O_DIRECT
innodb_numa_interleave=1
innodb_flush_neighbors=0
log_bin
server_id=1
expire_logs_days=1
log_output=file
slow_query_log=ON
long_query_time=0
log_slow_rate_limit=1
log_slow_rate_type=query
log_slow_verbosity=full
log_slow_admin_statements=ON
log_slow_slave_statements=ON
slow_query_log_always_write_time=1
slow_query_log_use_global_control=all
innodb_monitor_enable=all
userstat=1
总结
在开发环境中迁移到 MySQL 8 时,请记住,使用相同的设置需要比 MySQL 5.7 配置更多的内存。
mysql5驱动_技术分享 | MySQL 8 和 MySQL 5.7 在小型设备的内存消耗分析相关推荐
- mysql 带宽字段_技术分享 | 网络带宽如何影响 MySQL 性能
作者:Vadim Tkachenko 翻译:管长龙 网络是数据库基础架构的主要部分.但是,通常性能基准测试是在本地计算机上完成的,客户端和服务器并置在一起.这样做是为了简化结构并排除一个以上的变量(网 ...
- mysql安全无密码登录_技术分享 | 安全地无密码登录 MySQL
有人说最好的密码就是你不用记忆的.auth_socket 插件和 MariaDB 的 unix_socket 让这种想法在 MySQL 上变成可能. 这两个插件虽然不是新发布,但在 MariaDB 1 ...
- mysql5.7复制集_技术分享 | 克隆:更优雅的创建 MySQL 实例副本
背景 大多情况下,需要可靠而有效地克隆 MySQL 实例数据.这包括 MySQL 高可用的解决方案,其中需要在将实例加入组复制集群之前配置实例,或者在经典复制模型中将其添加为 Slave. 为复制拓扑 ...
- mysql优化说出九条_技术分享 | MySQL 优化:为什么 SQL 走索引还那么慢?
原标题:技术分享 | MySQL 优化:为什么 SQL 走索引还那么慢? 背景 2019-01-11 9:00-10:00 一个 MySQL 数据库把 CPU 打满了. 硬件配置:256G 内存,48 ...
- mysql内连接简写_技术分享 | MySQL 的 join_buffer_size 在内连接上的应用
本文详细介绍了 MySQL 参数 join_buffer_size 在 INNER JOIN 场景的使用,OUTER JOIN 不包含.在讨论这个 BUFFER 之前,我们先了解下 MySQL 的 I ...
- mysql 客户端_技术分享 | MySQL 客户端连不上(1045 错误)原因全解析
作者:Carlos Tutte.Marcos Albe 翻译:管长龙 在我们学习 MySQL 或从事 MySQL DBA 工作期间,时常会遇到:"我尝试连接到 MySQL 并且收到1045 ...
- mysql 做回归模型_技术分享 | 我对 MySQL 隔离级别的剖析
隔离级别的产生 在串型执行的条件下,数据修改的顺序是固定的.可预期的结果,但是并发执行的情况下,数据的修改是不可预期的,也不固定,为了实现数据修改在并发执行的情况下得到一个固定.可预期的结果,由此产生 ...
- mysql5.7.16 表空间加密_技术分享 | InnoDB 表空间加密
本文目录: 一.表空间加密概述 应⽤场景 加密插件 加密限制 注意事项 二.加密表空间 安装加密插件 配置表空间加密 查看表空间被加密的表 三.更新 master encryption key 四.导 ...
- linux配置usb主从_技术 | 手把手教你搭建MySQL主从架构
黑马程序员 微信号:heiniu526 传智播客旗下互联网资讯,学习资源免费分享平台 1 什么是MySQL的复制 MySQL的主从复制可以实现将数据从一台数据库服务器(master)复制到一台或多台数 ...
最新文章
- 如何识别出轮廓准确的长和宽
- CF888G Xor-MST (01字典树+MST)
- 机器人产业这些领域大有可为
- java练习:打印 数字1、2、3、4的组合,不能以4开头,1和3不能相邻,且数字不能重复
- csharp通过dll调用opencv函数,图片作为参数
- 项目实战-微信扫码登录
- 使用Webtask.io创建一个简单的REST API端点
- 计算机音乐绅士教程,教你学唱薛之谦的《绅士》,这个技巧很实用值得收藏!...
- Node.js新手教程——怎样实现文件上传功能
- windows 安装jenkins
- Error connecting to node kafka1:9092 (id: 0 rack: null) ,marathon docker镜像添加hosts
- linux 定时任务方法,Linux设置定时任务方法步骤
- centos yum清华镜像
- 学生管理系统:含注册登录操作
- 我是如何降低项目的沟通成本?
- 猴子选大王(c语言)
- AcWing 616. 两点间的距离
- Python根据csv绘制多折线图(内含批量读取+自定义坐标标签+阴影处理)
- ss570122的雕刻机制作过程
- 使用python画图案例大全【画玫瑰花、樱花树、小黄人等】
热门文章
- cannot set up a python sdk 3.8_anaconda+pycharm环境下创建新的虚拟环境报错Cannot set up a py...
- slf4j + log4j2配置日志引擎
- linux指令list by time,tar - Linux 常用命令
- linux线程切换回调函数,linux C线程退出回调函数
- mysql表结构定义_Mysql表结构定义及相关语法
- springcloud整合php,详细讲解springcloud的组件之RestTemplate集成的Ribbbon
- 用74ls90组成二十四进制计数器_CD4017是什么?十进制计数器分频器CD4017的逻辑功能呢?...
- 4 转推流格式_ppt 转 pdf怎么转?这个宝藏技巧不会太亏了!
- html css 走马灯,纯css 实现跑马灯效果
- Git 操作总结整合篇