当前位置: 首页 > news >正文

搜索引擎作弊网站有哪些甜品制作网站

搜索引擎作弊网站有哪些,甜品制作网站,芜湖市建设工程质量监督站官方网站,html代码用什么软件运行你的 SQL 语句为什么变“慢”了平时执行很快的更新操作#xff0c;其实就是在写内存和日志#xff0c;而 MySQL 偶尔“抖”一下的那个瞬间#xff0c;可能就是在刷脏页(flush)。当内存数据页跟磁盘数据页内容不一致的时候#xff0c;我们称这个内存页为“脏页”。内存数据写…你的 SQL 语句为什么变“慢”了平时执行很快的更新操作其实就是在写内存和日志而 MySQL 偶尔“抖”一下的那个瞬间可能就是在刷脏页(flush)。当内存数据页跟磁盘数据页内容不一致的时候我们称这个内存页为“脏页”。内存数据写入到磁盘后内存和磁盘上的数据页的内容就一致了称为“干净页”什么情况会引发数据库的 flush 过程呢InnoDB 的 redo log 写满了这时候系统会停止所有更新操作把 checkpoint 往前推进redo log 留出空间可以继续写checkpoint 往前推进时会把对应的所有脏页都 flush 到磁盘上系统内存不足当需要新的内存页而内存不够用的时候就要淘汰一些数据页空出内存给别的数据页使用。如果淘汰的是“脏页”就要先将脏页写到磁盘。刷脏页一定会写盘就保证了每个数据页有两种状态a. 一种是内存里存在内存里就肯定是正确的结果直接返回b.另一种是内存里没有数据就可以肯定数据文件上是正确的结果读入内存后返回。这样的效率最高。MySQL 认为系统“空闲”的时候MySQL 正常关闭的情况MySQL 会把内存的脏页都 flush 到磁盘上这样下次 MySQL 启动的时候就可以直接从磁盘上读数据启动速度会很快四种场景对性能的影响“redo log 写满了要 flush 脏页”这种情况是 InnoDB 要尽量避免的。因为出现这种情况的时候整个系统就不能再接受更新了所有的更新都必须堵住。如果你从监控上看这时候更新数会跌为 0。“内存不够用了要先将脏页写到磁盘”这种情况其实是常态。InnoDB 用缓冲池(buffer pool)管理内存缓冲池中的内存页有三种状态a. 第一种是还没有使用的b. 第二种是使用了并且是干净页c. 第三种是使用了并且是脏页。InnoDB 的策略是尽量使用内存因此对于一个长时间运行的库来说未被使用的页面很少。而当要读入的数据页没有在内存的时候就必须到缓冲池中申请一个数据页。这时候只能把最久不使用的数据页从内存中淘汰掉如果要淘汰的是一个干净页就直接释放出来复用但如果是脏页呢就必须将脏页先刷到磁盘变成干净页后才能复用。所以刷脏页虽然是常态但是出现以下这两种情况都是会明显影响性能的a. 一个查询要淘汰的脏页个数太多会导致查询的响应时间明显变长b. 日志写满更新全部堵住写性能跌为 0这种情况对敏感业务来说是不能接受的。所以InnoDB 需要有控制脏页比例的机制来尽量避免上面的这两种情况。InnoDB 刷脏页的控制策略innodb_io_capacity 参数会告诉 InnoDB 你的磁盘能力这样 InnoDB 就能知道需要全力刷脏页的时候可以刷多快建议设置成磁盘的 IOPS磁盘的 IOPS 可以通过 fio 工具测试fio -filename$filename -direct1 -iodepth 1 -thread -rwrandrw -ioenginepsync -bs16k -size500M -numjobs10 -runtime10 -group_reporting -namemytestinnodb_max_dirty_pages_pct 参数是脏页比例上限默认值是 75%。InnoDB 会根据当前的脏页比例(假设为 M)算出一个范围在 0 到 100 之间的数字 F1(M) InnoDB 每次写入的日志都有一个序号当前写入的序号跟 checkpoint 对应的序号之间的差值我们假设为 N。InnoDB 会根据这个 N 算出一个范围在 0 到 100 之间的数字 F2(N)根据上述算得的 F1(M) 和 F2(N) 两个值取其中较大的值记为 R之后引擎就可以按照 innodb_io_capacity 定义的能力乘以 R% 来控制刷脏页的速度。InnoDB 会在后台刷脏页而刷脏页的过程是要将内存页写入磁盘。所以无论是你的查询语句在需要内存的时候可能要求淘汰一个脏页还是由于刷脏页的逻辑会占用 IO 资源并可能影响到了你的更新语句都可能是造成你从业务端感知到 MySQL“抖”了一下的原因要尽量避免这种情况你就要合理地设置 innodb_io_capacity 的值并且平时要多关注脏页比例不要让它经常接近 75%其中脏页比例是通过 Innodb_buffer_pool_pages_dirty/Innodb_buffer_pool_pages_total 得到的具体的命令参考下面的代码mysql select VARIABLE_VALUE into a from global_status where VARIABLE_NAME Innodb_buffer_pool_pages_dirty;select VARIABLE_VALUE into b from global_status where VARIABLE_NAME Innodb_buffer_pool_pages_total;select a/b;MySQL 在准备刷一个脏页的时候如果这个数据页旁边的数据页刚好是脏页就会把这个“邻居”也带着一起刷掉而且这个把“邻居”拖下水的逻辑还可以继续蔓延也就是对于每个邻居数据页如果跟它相邻的数据页也还是脏页的话也会被放到一起刷。innodb_flush_neighbors 参数就是用来控制这个行为的值为 1 的时候会有上述的“连坐”机制值为 0 时表示不找邻居自己刷自己的找“邻居”这个优化在机械硬盘时代是很有意义的可以减少很多随机 IO。机械硬盘的随机 IOPS 一般只有几百相同的逻辑操作减少随机 IO 就意味着系统性能的大幅度提升。而如果使用的是 SSD 这类 IOPS 比较高的设备的话我就建议你把 innodb_flush_neighbors 的值设置成 0。因为这时候 IOPS 往往不是瓶颈而“只刷自己”就能更快地执行完必要的刷脏页操作减少 SQL 语句响应时间。在 MySQL 8.0 中innodb_flush_neighbors 参数的默认值已经是 0 了。
http://www.zqtcl.cn/news/914885/

相关文章:

  • 网站建设完成之后要索取哪些医疗网站建设服务
  • 长沙招聘网站有哪些深圳seo论坛
  • 网站如何做网络推广山西住房建设厅官方网站
  • 优化排名推广技术网站平面设计创意
  • 山西网站建设哪家有tv域名的网站
  • 个人博客网站怎么赚钱公司招聘一个网站建设来做推广
  • 功能型网站有哪些中国门户网站有哪些
  • 网站制作教程步骤软件公司怎么赚钱
  • 看世界杯网址网站更新seo
  • 深圳网站做的好的公司商洛做网站电话
  • 环保部网站官网建设项目审批做网站推广赚钱吗
  • 北仑建设局网站东莞市seo网络推广价格
  • 大专学历怎么自考优化建站
  • 网站上的图片怎么替换中国电力建设集团网站
  • 开发手机网站步骤手机网站前端开发布局技巧
  • 文山文山市网站建设网站建设管理教程视频
  • 深圳建筑业协会官网seo短视频新地址在哪里
  • 学院宣传网站制作大型网站团队人数
  • 新品发布会ppt参考友山建站优化
  • 做网站云服务器装系统厦门网站建设哪家强
  • 网站建设顶呱呱东莞建设信息网官网
  • 化妆品网站下载企业宣传片报价明细
  • php建设网站怎么用网站建设忽悠
  • 网站软件app免费注册账号qq
  • 清河网站建设公司西安开发网站的公司
  • 怎么用自己的服务器做网站软件接口设计文档
  • 昆明做网站建设找谁郑州网站制作的公司哪家好
  • 天津seo网站推广如何做医美机构网站观察分析
  • 东莞网站到首页排名网站建设与设计主要是干什么的
  • 自己做网站要花钱吗个人网站可以做资讯吗