MySQL性能抖动

news/2024/11/6 20:38:48/文章来源:https://www.cnblogs.com/liaozibo/p/18530984

当内存数据页跟磁盘数据页内容不一致的时,称这个内存页为“脏页”。内存数据写入磁盘后,内存和磁盘上的数据页的内容就一致了,称为“干净页”。

平时执行很快的更新操作,就是在写内存和日志,而MySQL偶尔抖一下,可能是在刷脏页。

刷脏页的时机

  • redo log 写满了,数据库停止所有更新操作,将 check point 往前推进
  • 内存不够用,淘汰数据页时,如何数据页是脏页,需要将脏页写到磁盘
  • 后台定时刷脏页
  • MySQL 正常关闭时,将脏页写到磁盘

以下情况会影响性能:

  • 第一种情况,日志写满,更新全部堵住,写性能跌为0
  • 第二种情况,一个查询要淘汰的脏页个数太多,回导致查询时间变长

InnoDB 脏页控制策略

磁盘性能 innodb_io_capacit

fio -filename=$filename -direct=1 -iodepth 1 -thread -rw=randrw -ioengine=psync -bs=16k -size=500M -numjobs=10 -runtime=10 -group_reporting -name=mytest

脏页比例上限 innodb_max_dirty_pages_pct,默认 75%。

InnoDB 根据脏页比例和 redo log 空闲比例计算出两个值,取其中最大值,结合磁盘性能控制刷脏页速度。

innodb_flush_neighbors 刷脏页的连坐机制(SSD磁盘建议关闭)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/827841.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

figure

figure 新知识:坐标隐写和Rot47编码 用010打开发现好长一串字符,全是小写字母和数字,感觉是十六进制最后那里看着是png文件头的十六进制的逆序,逆回去得到png图片有坐标,想起了用坐标画图,但是肯定不是,因为点太少了而且这个图大致算是画出来了 每个点前面有序号,先一个…

CSP2024 前集训:多校A层冲刺NOIP2024模拟赛18

前言 不知道咋回事儿?脑子里一直放歌。 然后 T3 空间给了 256,开了 256.23 死了。 T1 选彩笔 显然可以二分答案,所以现在有了 \(O(nv^3\log v)\) 的做法,去重后可以拿到 \(80pts\),发现直接三维前缀和就可以做到 \(O(v^3\log v)\)。点击查看代码 #include<bits/stdc++.…

实验3 类和对象 基础编程

实验一 task1.cpp#include "window.hpp" #include <iostream>using std::cout; using std::cin;void test() {Window w1("new window");w1.add_button("maximize");w1.display();w1.close(); }int main() {cout << "用组合类模…

别再被多线程搞晕了!一篇文章轻松搞懂 Linux 多线程同步!

别再被多线程搞晕了!一篇文章轻松搞懂 Linux 多线程同步!前言 大家有没有遇到过,代码跑着跑着,线程突然抢资源抢疯了?其实,这都是“多线程同步”在作怪。多线程同步是个老生常谈的话题,可每次真正要处理时还是让人头疼。这篇文章,带你从头到尾掌握 Linux 的多线程同步,…

『模拟赛』NOIP2024加赛2

『模拟赛记录』NOIP2024加赛2Rank 一直烂,什么时候触底反弹(A. 新的阶乘 赛时觉得线筛一遍同时统计每个质数的指数就做完了,然后本机怎么跑不进 1s,卡常卡了半个小时,最后没 T,但是 vector 炸了,70pts。 可以换思路考虑,赛时一直没转换过来。对于每个质数枚举其倍数统计…

矩阵求导 d(A*X)/dX

矩阵求导 d(A*X)/dX简单矩阵求导 $\frac{ \part (A \times X) }{ \part X }=A$。证明如下,自行体会。 感谢 https://www.cnblogs.com/sunny99/ sumoier对本文的帮助

学习笔记(二十六):资源分类与访问(Resources)

概述: 应用开发中使用的各类资源文件,需要放入特定子目录中存储管理。 资源目录的示例如下所示, base目录、限定词目录、rawfile目录、resfile目录称为资源目录;element、media、profile称为资源组目录。resources |---base | |---element | | |---string.json | |…

java微服务的异常

1.依赖异常须知: 【 如果项目的结构是单个模块的,需要给每个单个模块添加起步依赖 spring-boot-starter-parent,指定版本 】 【 如果项目的结构是子父模块的,只需要给父模块添加起步依赖 spring-boot-starter-parent,指定版本,所有子模块引入父模块就行 】配置文件你指定…

C# WebSocket的简单使用【使用Fleck实现】

有bug,不推荐使用 有bug,不推荐使用 有bug,不推荐使用2.WebSocketHelper 新建 WebSocketHelper.csusing Fleck;namespace WebSocket {internal class WebSocketHelper{//客户端url以及其对应的Socket对象字典IDictionary<string, IWebSocketConnection> dic_Sockets =…

第三十五讲:为什么临时表可以重名?

创建临时表,一部分为了优化查询,join在临时表里查询出结果后导入到正常表中,他也支持多session的查询优化,更重要一点是在session会话关闭后,临时表会自动销毁。嗯就这样 另外分清他和内存表的区别 内存表一定是从memory引擎创建的,临时表可以由memory引擎创建第三十五讲…

如何理解shell命令 cd $(dirname $0)

如何理解shell命令 cd $(dirname $0)-CSDN博客

对C++程序使用输入输出重定向

一般来说,在Visual Studio使用文件重定向有三种方法: 方法一:通过命令行参数实现 项目→属性→配置属性→调试→命令参数然后就在这里加上你的命令行参数 比如我有这样一段程序: #include <iostream> #include <fstream> #include "Sales_item.h"int…