一开始做负荷实验,负荷上不去
在代码里打断点发现是线程生成的时候一直在等待。
这个已经不是代码上的问题了。
然后看硬件参数。iostat显示io的util占用了100%。
说明硬盘是瓶颈。
google之后发现原来是硬盘的write cache默认是关闭的。
打开之后好了很多,但仍然用到了100%
这时已经不是硬盘设置的问题了。
确实是硬盘用满了。
怎么解决。这时发现数据库和LOG放在了同一块硬盘上。
把它们分在两块硬盘上就解决了问题。
再往后做又遇到了问题
每天四点往后硬盘的IO都会有一个峰值
看root的crontab又没发现有可疑的地方。
升级内核,用了iotop以后,查明是updatedb在搞鬼。
这个是linux自带的daily crontab。
注释掉即可
调查继续,即使做了以上操作,硬盘还是瓶颈。
问题在于smart array上没有电池,没有电池的话smart array的写缓存就没有打开。
也没有办法进行加速
电池的作用在于掉电的时候可以维持72小时数据不丢失。
还有硬盘是10K转的,商用的机器用的是15K转速的。
还有商用的机器缓存是512MB的,我们只有256MB
先加个电池,打开smart array的写缓存试试
阅读(618) | 评论(0) | 转发(0) |