我有一台服务器运行ubuntu 12.04并托管我的postgresql 9.2数据库.服务器在Hetzner.de上,它是一个EX6s(使用ubuntus软件raid在RAID1设置中使用32Gb ram和两个3T HDD的8核xenon).
当我运行大量查询(我经常在晚上完成)时,我发现几乎所有的cpu使用都花在cpu I / O等待上.我安装了新的文件监视器,我似乎无法找到任何其他迹象表明这可能是cpu I / O等待的根本原因,这显然是我的性能和吞吐量的瓶颈.
所以问题是,这个cpu I / O等待的是什么以及它还在等待什么?
我添加了所有概述图表,我可以从下面的新遗物中抓住.我在俯瞰什么?一定有明显的瓶颈吗?我应该去哪里潜水?
数据库服务器cpu使用情况 – 告诉我一些错误的恶意
https://rpm.newrelic.com/public/charts/cEdIvvoQZCr
数据库服务器负载平均
https://rpm.newrelic.com/public/charts/cMNdrYW51QJ
数据库服务器物理内存
https://rpm.newrelic.com/public/charts/c3dZBntNpa1
数据库服务器磁盘I / O优化 – 正如您所看到的,磁盘似乎没有得到太多利用(几乎没有)
https://rpm.newrelic.com/public/charts/9YEVw6RekFG
数据库服务器网络I / O(Mb / s) – 网络是千兆位内部网络,可以进行所有通信.
https://rpm.newrelic.com/public/charts/lKiZ0Szmwe7
按挂钟时间排名前5位的数据库操作
https://rpm.newrelic.com/public/charts/dCt45YH12FK
数据库吞吐量
https://rpm.newrelic.com/public/charts/bIbtQ1mDzMI
数据库响应时间
https://rpm.newrelic.com/public/charts/fPcNL8WA6xx
更新:
在做了sudo iostat -k 1后,我开始怀疑了.
我得到了很多这样的输出,我在NR中看不到: