Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Скрипт работает все медленее и медленее.
Форумы портала PHP.SU » PHP » SQL и Архитектура БД » Скрипт работает все медленее и медленее.

Страниц (1): [1]
 

1. Striker - 26 Июня, 2013 - 17:54:06 - перейти к сообщению
ПО:
PHP Version 5.4.16
MySQL 5.5

Сервер работает на CentOS.

Точно конфиг не знаю... 4-ядерный Corei7, 32Gb RAM.

Проблема в том что РНР скрипты, которые работают с MySQL со временем работают все медленее и медленее.

К примеру есть в БД таблицы вида `aa`, `ab`, `ac` и т.д. `yz`, `zz`.

Пытаюсь удалить данные в таблицах. Вот скрипт:

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. ini_set('display_errors', 1);
  3.  
  4. mysql_connect('localhost', '**********', '***********');
  5. mysql_query('SET NAMES UTF8');
  6.  
  7. $alfabet = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z');
  8.  
  9. $c = count($alfabet);
  10.  
  11. for($i = 0; $i < $c; $i++)
  12. {  
  13.     for($j = 0; $j < $c; $j++)
  14.     {
  15.         mysql_query("TRUNCATE TABLE `".$alfabet[$i].$alfabet[$j]."`");        
  16.         echo "Truncate `".$alfabet[$i].$alfabet[$j]."`\n";
  17.     }
  18. }
  19.  
  20. echo 'Tables cleared!';
  21. ?>


Приблизительно первые 10 таблиц чистятся практически моментально, а остальные все медленнее и медленнее. Тип таблиц InnoDB. Причем надо именно InnoDB, MyISAM не предлагать. Тоже самое наблюдается и с DROP, INSERT, UPDATE-запросами. Чем дольше выполняеться скрипт - тем медленее он работает. В чем может быть проблема?
2. esterio - 26 Июня, 2013 - 17:56:13 - перейти к сообщению
Ну предложу использовать mysqli или PDO
3. Мелкий - 26 Июня, 2013 - 18:02:42 - перейти к сообщению
Смотрите дисковую активность в первую очередь.
Рабочая версия - ожидание fsync'а.
4. Striker - 26 Июня, 2013 - 18:46:21 - перейти к сообщению
Мелкий
http://s36-temporary-files[dot]radik[dot][dot][dot]0/-929206895[dot]jpg
Пробил с помощью iotop, судя по всему не винт.
5. Мелкий - 26 Июня, 2013 - 19:17:07 - перейти к сообщению
А что iotop, по нему разве успеть что-то заметить?
vmstat, iostat
6. Striker - 27 Июня, 2013 - 10:12:37 - перейти к сообщению
Цитата:
А что iotop, по нему разве успеть что-то заметить?

Да, а в чем собственно проблема? Улыбка

 

Powered by ExBB FM 1.0 RC1