MySQL InnoDB引擎影响IO性能的参数

ADRV9009学习资料保存:基于XC7Z100+ADRV9009的双收双发无线电射频板卡 ADRV9009学习资料保存:基于XC7Z100+ADRV9009的双收双发无线电射频板卡 一、板卡概述 基于XC7Z100+ADRV9009的双收双发无线电射频板卡是基于XilinxZYNQFPGA和ADI的无线收发芯片ADRV9009开发的专用功能板卡,用于5G小基站,无线图传,数据收发... 阅读详情
此文针对MySQL的InnoDB存储引擎

配置方面对于IO优化的原则:尽可能能缓存,减少读对数据库的随机IO的请求;同时减少写的随机IO的随时发生,利用各种buffer去缓存。

下面来看一下这块的参数:
 

innodb_buffer_pool_size : 这是Innodb最重要的一个配置参数,这个参数控制Innodb本身的缓大小,也影响到,多少数据能在缓存中。建议该参数的配置在物理内存的70%-80%之间。
innodb_flush_method: 这个控制Innodb的IO形为,什么:fsync, O_DSYNC之类的,这里不做过多介绍, 建议使用: O_DIRECT, 这样减少操作系统级别VFS的缓存使用内存过多和Innodb本身的buffer的缓存冲突,同时也算是给操作系统减少点压力。
innodb_io_capacity: 这个参数据控制Innodb checkpoint时的IO能力,一般可以按一块SAS 15000转的磁盘200个计算,6块盘的SAS做的Raid10这个值可以配到600即可。如果是普通的SATA一块盘只能按100算。(innodb-plugin, Percona有这个参数)
innodb_max_dirty_pages_pct : 这个参数据控制脏页的比例如果是innodb_plugin或是MySQL5.5以上的版本,建议这个参数可以设制到75%-90%都行。如果是大量写入,而且写入的数据不是太活跃,可以考虑把这个值设的低一点。 如果写入或是更新的数据也就是热数据就可以考虑把这个值设为:95%
innodb_log_file_size : 这个可以配置256M以上,建议有两个以前的日志文件(innodb_log_files_in_group). 如果对系统非常大写的情况下,也可以考虑用这个参数提高一下性能,把文件设的大一点,减少checkpiont的发生。 最大可以设制成:innodb_log_files_in_group * innodb_log_file_size < 512G(percona, MySQL 5.6) 建议设制成: 256M -> innodb_buffer_pool_size/innodb_log_file_in_group 即可。
innodb_log_buffer_size : 如果没在大事务,控制在8M-16M即可。


其它对IO有影响的参数(以5.6为准)

innodb_adaptive_flushing 默认即可
innodb_change_buffer_max_size 如果是日值类服务,可以考虑把这个增值调到 50
innodb_change_buffering 默认即可
innodb_flush_neighors 默认是开的, 这个一定要开着,充分利用顺序IO去写数据。
innodb_lru_scan_depth: 默认即可 这个参数比较专业。
innodb_max_purge_lag 默认没启用,如果写入和读取都量大,可以保证读取优先,可以考虑使用这个功能。
innodb_random_read_ahead 默认没开启,属于一个比较活跃的参数,如果要用一定要多测试一下。 对用passport类应用可以考虑使用
innodb_read_ahead_threshold 默认开启:56 预读机制可以根据业务处理,如果是passprot可以考虑关闭。如果使用innodb_random_read_ahead,建议关闭这个功能
innodb_read_io_threads 默认为:4 可以考虑8
innodb_write_io_threads 默认为:4 可以考虑8
sync_binlog 默认即可: 0
innodb_rollback_segments 默认即可: 128

另外5.6的undo log也可以独立配置了,建议单独配置出来。
睿抗机器人魔力元宝在完成任务过程中如何使机械臂先到达白色盒子上方而不是先到达工作台? 🏆 本文收录于《全栈Bug调优(实战版)》专栏,致力于分享我在项目实战过程中遇到的各类Bug及其原因,并提供切实有效的解决方案。无论你是初学者还是经验丰富的开发者,本文将为你指引出一条更高效的Bug修复之路,助你早日登顶,迈向财富自由的梦想🚀!同时,欢迎大家关注、收藏、订阅本专栏,更多精彩内容正在持续更新中。让我们一起进步,Up!Up!Up!    备注: 部分问题/难题源自互联网,经过精心筛选和整理,结合数位十多年大厂实战经验资深大佬经验总结所得,数条可行方案供所需之人参考。 阅读详情

相关推荐

不带DDR的ZYNQ使用OCM加载程序运行的方法

软件版本:Vivado Vitis2019.2 第一步: 在Vivado的ZYNQ Block Design时候不配置DDR 第二步: 在Vitis中: 1、 在Vitis中新建Platform,选择xsa文件: 2、 在xparameters.h中添加DDR的地址空间定义,如下: 3、 修改链接文件,修改每个段都到ram_0,因为ram_1空间全部给到应用程序 4、 修改fsbl工程的main.c,增加XPAR_PS7_DDR_0条件编译 5、 修改fsbl.h,重定义DDR_EN

hpf247的博客 5533

MySQL源码之innodb_io_capacity

背景 这段时间公司新来了一个校招的小姐姐,来了之后一直在熟悉压测相关的, 经过了一段时间的压测,今天给我们做了一个分享,讲的确实挺好,挺全面, 参数啊结果都讲的挺不错的,但是,问题他这就来了: 在展示压测关于innodb_io_capacity参数值压测的时候,我人呆住了, 不论innodb_io_capacity的值变化多少,相同线程数量下,qps都是几乎完全相同的。 ??????这就是我脑子当时的反应 没有任何变化,这一下子让我觉得不太可能,有问题 简单了解之后,压测的那台机器上数据库buffer_po

授人以鱼不如授之以渔 1861

Ollama本地大模型部署指南:从核心原理到实战避坑

大语言模型(LLM)作为人工智能领域的核心技术,通过海量数据训练获得强大的语言理解和生成能力。其工作原理基于Transformer架构,通过自注意力机制处理序列数据,在文本生成、代码编写和对话系统等场景展现出巨大价值。随着开源模型的普及,本地部署成为关注焦点,它解决了数据隐私和定制化需求,但面临环境配置和资源管理的挑战。Ollama作为开源工具,通过封装模型格式和统一API,简化了本地部署流程,支持GPU加速和性能调优,让开发者能够快速集成到IDE和自动化脚本中,实现高效的本地AI应用部署。

weixin_30915951的博客 451

《MySQL实战45讲》——学习笔记12 “InnoDB刷脏页的控制策略“

12 | 为什么我的MySQL会“抖”一下?

娜娜米的博客 1933

一文搞懂【Linux 搭建 Dread Hunger 服务器】附本体及Docker部署集群方案

看直播发现了五花八门的开服器和版本,一时兴起按官方文档进行了搭建尝试,所以我的版本基于官方Stream2024.01.10更新的版本,也就是停服时的玩法,应该可以根据mod和补丁魔改成更那些开服器一样的版本,本文不做谈论,注重服务器搭建,毕竟8个人不可能在一个局域网里乱象:首先,我看了大量教程视频,一类是开服器的推广,另一类自建的基本采用Windows搭建,我觉得最离谱的是大部分教程都会教你买一台远程Windows虚拟机???

LHmine的博客 3983

百元DIY手机荧光计:低成本荧光检测平台搭建与实战

荧光检测是一种基于物质受特定波长光激发后发射更长波长荧光的分析技术,其核心原理在于光与物质的相互作用。通过选择性激发与检测,该技术能实现对痕量物质的高灵敏度、高特异性定量分析,在生物医学、环境监测和食品安全等领域具有重要价值。传统荧光分光光度计虽精度高,但成本昂贵、体积庞大且操作复杂,限制了其在现场快检和普及教育中的应用。本文聚焦于如何利用智能手机的高性能摄像头和处理器,结合低成本光学滤光片和LED光源,构建一个便携、经济的DIY荧光检测平台。该方案通过简化光路设计,采用带通滤光片进行波长选择,并利用图像处

weixin_34194829的博客 304

innodb_io_capacity,innodb_io_capacity_max参数介绍

innodb_io_capacity 参数定义了InnoDB后台任务每秒可用的I/O操作数(IOPS),例如用于从buffer pool中刷新脏页和从change buffer中合并数据。 innodb后台进程最大的I/O性能指标,影响刷新赃页和插入缓冲的数量,在高转速磁盘下,尤其是现在SSD盘得到普及,可以根据需要适当提高该参数的值。 innodb_io_capacity=2000(公司配置) ...

weixin_40524659的博客 5278

基于深度学习的智能监考系统(UI界面 + YOLOv8/v7/v6/v5代码 + 训练数据集)

行为检测与识别:能够自动识别考生在考试中的异常行为,如作弊、看手机、交头接耳等。实时监控:在考试期间,系统能够对考生的行为进行实时监控,及时发出警报。用户交互:通过简洁易用的UI界面,便于监考人员进行实时监控、查看警报和视频回放等操作。行为分析与反馈:系统能够识别出考生的违规行为,并提供反馈。本文详细介绍了如何构建基于YOLOv5的智能监考系统,从数据集的准备、YOLO模型的训练,到UI界面的设计与实现,展示了一个完整的深度学习监控系统。

YOLO 781

Mysql Innodb 学习经验

对于数据库来讲大多瓶颈都出现在IO问题上,所以现在SSD类的设备也才能大行其道。那数据库的IO这块有什么可以优化的吗? 我这里大致谈一下我的看法,希望能达到一个抛砖引玉的效果。 这里谈一下数据库本身的配置方面 具体如下: 配置方面对于IO优化的原则:尽可能能缓存,减少读对数据库的随机IO的请求;同时减少写的随机IO的随时发生,利用各种buffer去缓存。下面来看一下这块...

系统运维 221

【推荐100个unity插件】将UE的资源导出到unity使用—— Exporter for Unreal to/for Unity插件

Unreal to Unity导出器是一款帮助开发者将Unreal Engine项目转换为Unity的工具。文章详细介绍了使用步骤:1)安装虚幻引擎并创建项目;2)在Plugins文件夹中安装导出插件;3)导入UE资产到Content文件夹;4)配置导出参数并完成转换。文末推荐了多个Unity开发专栏,涵盖C#编程、2D/3D开发、特效制作等内容。作者向宇提供了博客地址,欢迎读者交流学习。该工具能有效提升项目迁移效率,适合需要跨引擎开发的用户使用。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 846

【DRAM存储器四十三】LPDDR5介绍--寻址

简要说明LPDDR5 X16、x8 die的寻址

highman110的博客 966

Mysql之InnoDB中线程详解

InnoDB存储引擎是多线程的模型,因此其后台有多个不同的后台线程,负责处理不同的任务。主要分为:Master Thread、IO Thread、Purge Thread和Page Cleaner Thread。 Master Thread 通过名字就可以看出,Master Thread是非常重要的线程,维护着InnoDB存储引擎中的大多数的操作,因为此线程的效率也直接影响着InnoDB的整体性能。所以,不同InnoDB版本的改进也主要针对此线程的功能进行的。InnoDB1.0.x版本之前 Master T

qq_38571892的博客 2548

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

mysql innodbiocapacity_MySQL InnoDB引擎影响IO性能的参数

此文针对MySQL的InnoDB存储引擎配置方面对于IO优化的原则:尽可能能缓存,减少读对数据库的随机IO的请求;同时减少写的随机IO的随时发生,利用各种buffer去缓存。下面来看一下这块的参数:innodb_buffer_pool_size : 这是Innodb最重要的一个配置参数,这个参数控制Innodb本身的缓大小,也影响到,多少数据能在缓存中。建议该参数的配置在物理内存的70%-80%之...

weixin_39979215的博客 233

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

innodb_io_capacity、innodb_io_capacity_max 的影响

os: centos 7.4 db: mysql 8.0.19 版本 # cat /etc/centos-release CentOS Linux release 7.4.1708 (Core) # # # yum list installed |grep -i mysql mysql-community-client.x86_64 8.0.19-1.el7 ...

一名数据库爱好者的专栏 2222

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Mysql innoDb参数配置优化大全

Innodb中大量使用了AIO Async IO来处理写IO请求,这样可以极大提高数据库的性能。而IO Thread的工作主要是负责这些IO请求的回调callback。本文梳理了大部分相关的配置参数,以期在调整的过程中提高性能。 innodb_read_io_threads 设置read thread(读线程个数,默认是4个) innodb_write_io_threads 设置write thread(写线程个数,默认是4个) 事务被提交后,其所使用的undolog撤销日志可能不再需要,因此需要Pu

github_39164078的博客 4097

mysql io瓶颈_服务器IO瓶颈对MySQL性能的影响

【背景】之前我们碰到一些MySQL的性能问题,比如服务器日志备份时可能会导致慢查询增多,一句简单的select或insert语句可能执行几秒,IO负载较高的服务器更容易出现并发线程数升高,CPU上升等问题。最近学习了MySQL InnoDB IO相关的部分内核原理,可以帮我们了解服务器IO瓶颈对MySQL性能的影响,下面以MySQL5.7.23的源码为例【原理】1、InnoDB实现了同步IO和异步...

weixin_34406844的博客 1026

io差 mysql服务差_服务器IO瓶颈对MySQL性能的影响

【背景】之前我们碰到一些MySQL的性能问题,比如服务器日志备份时可能会导致慢查询增多,一句简单的select或insert语句可能执行几秒,IO负载较高的服务器更容易出现并发线程数升高,CPU上升等问题。最近学习了MySQL InnoDB IO相关的部分内核原理,可以帮我们了解服务器IO瓶颈对MySQL性能的影响,下面以MySQL5.7.23的源码为例【原理】1、InnoDB实现了同步IO和异步...

weixin_42181693的博客 203

MySQL InnoDB存储引擎性能调优

Innodb_buffer_pool_read_ahead_evicted : 预读的页,但是没有被读取就从缓冲池被替换的页的数量,一般用来判断预读的效率。Innodb_buffer_pool_read_requests : 从缓冲池中读取页的次数。Innodb_data_reads : 发起读取请求的次数,每次读取可能需要读取多个页。Innodb_buffer_pool_reads : 表示从物理磁盘读取页的次数。Innodb_buffer_pool_read_ahead : 预读的次数。

愤怒的苹果ext的博客 1430

mysql数据库如何看io_MySQL数据库IO问题

--MySQL数据库IO问题----------------------2014/05/25看http://www.mysqlperformanceblog.com 的时候,发现Percona Server已经发布到 5.1.58了,其中有一个重大的性能改进在flush 日志文件和doublewrite buffer的时候,使用fdatasync()代替fsync(),具体描述如下:fsync()...

weixin_31650287的博客 1218

Mysql -> InnoDB重要参数优化

本文介绍 MySQL InnoDB 存储引擎的关键参数优化。InnoDB 提供事务安全和高性能,适合多用户部署。

Switolor 1398

IO相关配置参数

前面介绍了内存相关的配置信息,也就是IO相关的配置参数,这部分参数决定了MYSQL如何同步缓冲池中的数据, 到磁盘上,以进行数据持久化的保存,这些操作对性能的影响非常的大,如果要保证数据修改后立即写入到磁盘上, 那是一个很昂贵的操作,前面我们介绍了IO的操作成本是很高的,所以我们要在性能和安全性上做一个平衡,有时候 我们为了提高性能就不得不牺牲一些安全性,由于IO配置呢总是和我们选择的存储...

Leon_Jinhai_Sun的博客 1865

mysql innodbmaxdirtypagespct_innodb存储引擎之innodb_io_capacity, innodb_max_dirty_pages_pct以及innodb_adapt...

关键词:innodb 存储引擎innodb_io_capacityinnodb_max_dirty_pages_pctinnodb_adaptive_flushing摘要:个人学习记录,仅供参考。innodb_io_capacity,innodb_max_dirty_pages_pct,innodb_adaptive_flushing这三个参数是为了解决SSD等大容量存储设备的出现而导致in...

weixin_39874809的博客 200

Mysql的磁盘IO的读过高的优化

最近几个站点出现负载过高,磁盘IO过高,通过iotop命令查看,发现进程为mysqld的读数据操作很高。基本上在200MB/s。已经到达了100%了。 在网上找了好几天都是说binglog提交, set global sync_binlog=500; 当每进行500次事务提交之后,MySQL将进行一次fsync之类的磁盘同步指令来将binlog_cache中的数据强制写入磁盘。 set glo...

xingnang2008的专栏 4317

innodb几个参数

innodb_flush_method innodb_io_capacity,binlog_order_commit slave_paralle_workers innodb_numa_interleave,innodb_autoinc_lock_mode

敖尔其楞的专栏 733

mysql的io参数

数据库的主要瓶颈在io。下面是设计到一下影响innodb io性能的主要参数。   1、innodb_buffer_pool_size 概念:为[InnoDB]数据表及其索引而保留的RAM内存量(默认设置是8MB)。 这个参数对速度有着相当大的影响,如果计算机上只运行有[MySQL]/[InnoDB]数据库服务器,就应该把全部内存的80%用于这个用途。   2、innodb_addit

thomas0yang的专栏 4403
上一篇: 影响MySQL之IO性能最重要的几个参数
下一篇: 浅析MySQL七种日志
笑天居士
博客等级 码龄24年 292粉丝 136原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值