Биллинговая система Nodeny
22 Ноября 2024, 00:21:11 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Прекращена поддержка версии Nodeny 49
 
   Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]
  Печать  
Автор Тема: mysql waiting for table level lock  (Прочитано 5430 раз)
serg_sk
Пользователь
**

Карма: 0
Offline Offline

Сообщений: 29


Просмотр профиля Email
« : 06 Октября 2016, 23:02:41 »

Добрый день!

Уже который день борюсь с проблемой долгого обрабатывания запросов в mysql.
Версия биллинга 50.33. Стоит все на одной машине. Машина достаточно мощная. 2xXeon, 64Гб оперативки.
Дисковая подсистема справляется вроде как. 4 винта собрано в рейд 1, так уже получилось.
Куда посоветуете рыть?

Лог медленных запросов:
Цитировать
Count: 52  Time=42.85s (2228s)  Lock=0.00s (0s)  Rows=0.0 (0), bill_kernel[bill_kernel]@[127.0.0.1]
  INSERT INTO dblogin (mid,act,time) SELECT  `users`.`id` ,  'S', UNIX_TIMESTAMP( ) FROM  `users` LEFT JOIN  `x2016x10x6` ON                                                                                                      `users`.`id` =  `x2016x10x6`.`mid` WHERE  `x2016x10x6`.`in` >N AND  `x2016x10x6`.`out` >N AND  `x2016x10x6`.`time` > UNIX_TI                                                                                                    MESTAMP( ) -N AND  `users`.`lstate` >N GROUP BY users.id

Count: 101  Time=39.62s (4001s)  Lock=0.00s (0s)  Rows=0.0 (0), bill_kernel[bill_kernel]@[xx.xx.xx.xx]
  call radupdate('S')

Count: 42  Time=35.41s (1487s)  Lock=0.00s (0s)  Rows=1.0 (42), bill_www[bill_www]@[127.0.0.1]
  CALL set_dopvalues(N)

Count: 9  Time=14.80s (133s)  Lock=0.00s (0s)  Rows=16658.9 (149930), bill_kiev[bill_kiev]@[xx.xx.xx.xx]
  SELECT SQL_BUFFER_RESULT parent_id,MAX(revision) AS r FROM dop_oldvalues GROUP BY parent_id

Count: 1  Time=12.76s (12s)  Lock=0.00s (0s)  Rows=1.0 (1), bill_www[bill_www]@[127.0.0.1]
  SELECT SUM(cash) AS cash FROM pays WHERE type=N AND bonus='S' AND admin_id=N AND time<=N

Записан
0xbad0c0d3
гуру nodeny )
NoDeny
Спец
*

Карма: 116
Offline Offline

Сообщений: 1059



Просмотр профиля
« Ответ #1 : 07 Ноября 2016, 11:21:36 »

Ключи в таблицах. У себя всю базу "переклЮчил"
И что за поле такое `N`? и 'S' oO
Записан
0xbad0c0d3
гуру nodeny )
NoDeny
Спец
*

Карма: 116
Offline Offline

Сообщений: 1059



Просмотр профиля
« Ответ #2 : 07 Ноября 2016, 13:22:16 »

Ну и сразу переделать запрос #1 из приведенного куска лога
Код:
INSERT INTO dblogin (mid,act,time)
SELECT
        `u`.`id`,'27',$t
FROM `users` u
INNER JOIN `$x_traf_tbl` u ON `u`.`id`=`t`.`mid`
WHERE
        `t`.`in`>0
        AND `t`.`out`>0
        AND `t`.`time`>${\(sprintf('%.0f',$t-($Kern_t_to_deny*1.1)))}
        AND `u`.`lstate`>0
        AND IFNULL(`u`.`iptype`,0)<>1
GROUP BY `u`.`id`
А все остальное нужно, как минимум запускать руками исмотреть что происходит.
P.S.
S,N - это Вы типа "секретную" инфу скрыли? )))) Осень сомневаюсь, что так написано в логах
Записан
Страниц: [1]
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.20 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!