同一条sql语句,为什么有时插入块,有时插入慢原因剖析

背景:同一条sql ,有时插入时间几毫秒,有时插入时间几十毫秒,为什么?

Sql角度:简单insert

表角度: 一个主键

系统参数角度:

开启了双1 策略。

也就意味着每次事物就会有刷新磁盘

关闭双1 ,设置为 0 100 ,或者 2 100 ,会极大提升性能。这是因为不刷硬盘了,但不能解决为什么时快时慢问题

操作系统角度

iostat -xmd 1  看磁盘

磁盘 不够快啊。 读写0.15M 就使用了7%

来个顺序文件拷贝, 30M 使用 100%。 离散读写更慢了

使用sar -B 1 可以查看页面交换

pgpgin/s:表示每秒从磁盘或SWAP置换到内存的字节数(KB)

pgpgout/s:表示每秒从内存置换到磁盘或SWAP的字节数(KB)

fault/s:每秒钟系统产生的缺页数,即主缺页与次缺页之和(major + minor)

majflt/s:每秒钟产生的主缺页数.

pgfree/s:每秒被放入空闲队列中的页个数

pgscank/s:每秒被kswapd扫描的页个数

pgscand/s:每秒直接被扫描的页个数

pgsteal/s:每秒钟从cache中被清除来满足内存需要的页个数

%vmeff:每秒清除的页(pgsteal)占总扫描页(pgscank+pgscand)的百分比

这表示 内存和 swap 或者硬盘 有频繁的数据交换

2 哪个进程使用swap 呢

for i in $(ls /proc | grep "^[0-9]" | awk '$0>100'); do awk '/Swap:/{a=a+$2}END{print '"$i"',a/1024"M"}' /proc/$i/smaps;done| sort -k2nr | head

在经过 几个小时后 ,mysql 使用 swap 由 88M 变成了104M , 说明一直在使用和增加的。

问题基本定位

  1. 首先是磁盘性能不高,顺序写才30M ,离散写会降低10倍
  2. 其次是mysql又使用了swap 空间,这就使得性能更差
  3. Mysql 开启了双1 验证,就会等待数据刷磁盘,

磁盘使用频率不稳定,导致了mysql的插入时间会时快时慢

如何解决

  1. 减少mysql使用swap 方式

     把swapness 降为1

    sysctl vm.swappiness=1     并且 /etc/sysctl.conf  中设置为1

  2  降低内存 innodb_buffer_pool_size =4G  原来6G ,节约一部分内存空

  3 开启innodb_numa_interleave = ON    来操作numa

       4 更换SSD 或者不用开启双1,改成 2  100

只调整操作系统参数,不更换硬件,依然开启双一,重启mysql之后呢

可以看到mysql已经不再使用 swap 空间了

但是因为双一参数的使用,每次事物都会刷磁盘,而这个机械磁盘的性能在随机读写的情况下不稳定。会依然存在时快时慢的问题。

最新文章

  1. 重写jquery的ajax方法
  2. 更新整理本人所有博文中提供的代码与工具(C++,2014.01)
  3. 通过Nginx部署Django(基于ubuntu)
  4. 如何远程断点调试本地localhost项目
  5. 算法 python实现(一) 基本常识
  6. Android 监听网络变化
  7. 开源DirectShow分析器和解码器: LAV Filter
  8. [LeetCode] Non-negative Integers without Consecutive Ones 非负整数不包括连续的1
  9. TensorFlow官方文档
  10. 8.Odoo产品分析 (二) – 商业板块(3) –CRM(2)
  11. NTP搭建
  12. linux journalctl 命令
  13. python全栈开发day38-css三种引入方式、基础选择器、高级选择器、补充选择器
  14. JavaScript--Document对象方法createElement()和createTextNode()
  15. Linux系统优势六大方面
  16. 【max_result_window大小】 Result window is too large的问题
  17. 使用HttpClient出现java.io.IOException: Attempted read from closed stream
  18. BZOJ 1297 迷路(矩阵快速幂)
  19. Android各层推荐开发书籍及参考资料!!!
  20. SEO编辑必看:撰写搜索引擎喜爱的标题

热门文章

  1. 2.4 【配置环境】TestNG安装
  2. 快递查询API
  3. C语言 exit
  4. 如何将博客内容输出到pdf
  5. BufferedInputStream 介绍
  6. windows10重置后,鼠标键盘失灵
  7. 使用jps查看JVM进程信息
  8. php 发送手机验证码
  9. IIS-详解IIS中URL重写工具的规则条件(Rule conditions)
  10. input file multiple 配合springmvc实现多文件上传