性能测试-cpu-IO密集型-直接会话可能会断了,命令执行不了

1、IO密集型模拟命令

该命令会开启1个worker不停的读写临时文件,同时启动6个workers不停的调用sync系统调用提交缓存

 stress-ng  -i 6 --hdd 1 --timeout 150

2、top命令

loadaverage  上升

cpu: wa值很大 us、sy不是很大, buff/cache有增大
vmstat 1: mem free减少, cache有明显的增大, bo有明显数据, 说明有大量磁盘数据交换
mpstat -P ALL 3 : %iowat 数值比较大 再次证明,我们线程系统负载比较高的原因是,系统的磁盘读写测试性能瓶颈, 哪到底是哪个进程导致我们的磁盘读写高?
pidstat -w 1 stress-ng-hdd这个进程的 自愿上下文切换数据比较大,pid的值 进程id

===你们考虑一下,这个问题这么解决?

​ ----已经定位到了具体是哪个程序导致了

​ 要么换磁盘,要么迁移到io性能更好的服务器

​ 如果你是整体的迁移你的数据库,这个风险比较大,我们可以再另外一个IO性能比较好服务器,再安装一个数据库,做要给数据库读写分离。

​ 要么 减少io操作

要定位到具体代码:

思路:具体进程id之后, 找到进程线程id,然后把线程id进行16进制转换, 进程id日志打印出来,过滤出线程id(16进程)

3、vmstat 1命令

4、mpstat -P ALL 3命令

5、pidstat -w 5 命令

6、结论

  • 1、top: load值升高,CPU的wa值很大,freeMem变小, buff/cache值增大
  • 2、vmstat:memory的free变小,buff基本不变,cache变大,io的bo值非常大,CPU的in、cs也都变大
  • 3、mpstat:%iowait 变得很大
  • 4、pidstat:cswch/s自愿上下文切换 变得非常大
posted @ 2023-03-02 12:39  依羽杉  阅读(63)  评论(0)    收藏  举报