自己开发的程序。
不复杂。就是简单的采集,生成缓存。
(采集还是有时间间隔的。并不是时时的在采)但是在用TOP命令查看时,发现。 %wa 波动非常大。
经常性的在  50%左右。甚至还要高。。但   %us则低,始终不过1%查资料都说是。wait for io 。可我程序没什么读操作啊。一是读/cache/xxx.html 这样的缓存,直接就输出来了。没有复杂操作。
二是mysql的各种查询,我检测执行时间。也都是0.00x毫秒就OK。没有耗资源的东西啊为啥这WA会如此之高搞的空间商都不乐意了。我日。谁有这经验啊加我Q。23559055 帮助解决。再送200分。

解决方案 »

  1.   

    i/o除了磁盘i/o也包括网络i/o,你抓取页面也算i/o操作。
    假设你的i/o操作总时间用了5秒,然后cpu用了5秒,那这个%wa百分比值就是5(io)/(5(io)+5(cpu)) = 50%,所以你要么减少i/o操作,要么增加cpu使用率,比如开多进程试试。
      

  2.   

         生成纯静态化HTML的应该会减少一些吧。一定要设置一下CACHE,不要每次都去硬盘里读数据,经常性访问的可以CACHE到内存,这样磁盘的I/O肯定能减少读的频率。