我在使用Debian GNU / Linux专用盒时遇到了负载平均值的问题。 他们都是(其中两个)运行MySQL +一个自定义的游戏服务器软件 – 一个小型的“MMORPG”(不是所有的)。 CPU使用率和内存使用情况均可。 CPU使用率通常<5%。 内存使用量达到80 – 90%,但总是有一堆免费,caching或缓冲。 交换使用是0。
使用正常运行时间,顶部或任何其他显示它的命令来监视负载时,它会随机跳到4或甚至更多。 这显然是一个问题,特别是考虑到两个盒子“只”有2个核心。 在平均值的魔术跳跃之后,它开始平稳下滑,表明这是一个真正的暂时的资源使用跳跃。 CPU使用率始终为0-5%,最高为10%,每当我设法以1秒钟的更新频率盯着顶端约15分钟。
我试过一些像htop,vmstat,dstat等工具无济于事。 以下是任何感兴趣的人的日志:
http://www.k-zodron.com/log.txt
除了出现在起始行之外,当负载跳转到天文数值时,CPU使用率几乎没有增加。 我不是这个东西的超级专家,但是将4KB写入光盘听起来并不像是I / O瓶颈。
我也运行MySQL调整入门工具,它报告一切正常。
任何想法如何追踪和解决问题? 谢谢!
编辑
http://www.k-zodron.com/munin/
穆宁统计,每5 – 10分钟更新一次。
可以这样mysql是使用临时表? 你可以添加一些munin图表与io stat ..? 在提供的日志io数字似乎令人难以置信的低。
你的工作组是什么 – 数据是否适合在内存中[好像是这样]? 你不时做大量的写入sql [从日志看起来 – 没有一个]?
是否有可能突然出现并发请求的数量[sql或您的自定义服务器]? cat / proc / net / ip_conntrack | wc -l说什么? 负载峰值时显示的是什么?
你可以打开MySQL的慢查询日志logging – 例如,一切> 1或2秒?
你的磁盘直接连接到服务器或者它可能是iscsi / nfs? 你可以检查磁盘的健康状态[智能] / RAID状态? 也许有一个驱动器失败…或者你可以运行简单的IO磁盘基准非高峰,以确保你得到体面的读/写速度。
或者在dmesg中显示一些丑陋的东西?
编辑:检查netstat | wc -l是否与负载相关
检查ps axms | wc -l是否与负载相关
检查lsof | wc -l是否与负载相关
[最好是黑客小munin插件,让他们在图表上]。
你需要更多的指标。 我使用神经节来收集不同的值,经典的:CPU,内存,networking,磁盘I / O等; 基于服务的度量:http请求,mysql查询和慢速查询等; 和基于应用程序的指标,即有多less用户连接到游戏,或者应用程序调用了多less次关键function。
分析这些信息并与负载峰值进行比较可以让您更好地了解系统中正在发生的事情。