Hello, i think mysqld doing big i/o, but myslqd.log , access logs, messages dont show anything I reinstalled httpd, mysqld and it contonue happening: [root@* script]# tail -n30 /var/log/mysqld.log 140503 05:38:32 mysqld ended 140503 05:45:41 mysqld started 140503 5:45:41 [Note] /usr/libexec/mysqld: ready for connections. Version: '5.0.96' socket: '/var/lib/mysql/mysql.sock' port: 3306 Source distribution Code (markup): The linux centos (redhat) server %wa value (from command "top") is usually 30% which is high. iotop Please can anyone help discover what causes it? what commands to do? thx
i already did and its optimised according to mysqltuner and accoring to tunning primer mysql tuning script.
Eventually it all comes back to IOPS, and what your disk(s) can really handle. What kind of raid setup do you have on this server?
Disk can be problem. There is no raid and it is 7k RPM. But still most of the time its rarelly 20% used max write / max read value.
Have you done any profiling to figure out the query/stored proc running at the time of the loads? You either have something poorly written or your disk are just overwhelmed. The other thing you could do is start caching some of the DB calls where possible.
Thx for ideas, im unsure how to do profilling, if there are any simple commands or tutorial or keyword to search google, i will try. not sure if there is any better tool beside iotop for realising if "your disk are just overwhelmed"
The short version is your server's disk IO is insufficient to keep up with your application's demands. Typically, there are 3 ways to fix this issue: Get faster disks. RAID 10 Solid State handles high read rates well. Optimize your queries to reduce disk writes. Use caching (ram disks or various database cache techniques) One or all of these these options may be needed. I am not sure how you ran iotop but I recommend running it with: iotop -a Which will displace accumulated stats which are better for diagnosing issues. In the data you provided, you see a MySQL thread is writing >50MB/sec . This is likely the source of your issues. That is a lot of data being written. Web applications are usually read not write intensive. So you will need to identify what is triggering MySQL to write so much data. Poor queries are often the cause. Some queries may require a temporary table. If this is large, then a lot of data can be dumped to the disk causing high disk IO on the write side. To try to track this down, you will want to enable slow query logging and review your queries. See: http://stackoverflow.com/questions/6848821/mysql-finding-cause-of-temp-disk-tables For more details.