mysql проблема производительности хранимой процедуры - PullRequest
0 голосов
/ 06 апреля 2011

У меня такая ситуация

2 той же БД, одна на сервере DEV, другая на сервере PROD (полностью отделенный сервер)

Мое веб-приложение работает на сервере DEV вместе с DEV DB. Моя хранимая процедура выполняется в базе данных DEV от 0,300 секунд до 0,600 секунд, Однако та же процедура выполняется на сервере PROD в течение 3-12 секунд (из того же веб-приложения на сервере DEV) Обе структуры БД, индексы и данные одинаковы. Значительная задержка.

Разница только в версии DEV - 5.0.67-сообщество PROD - 5.1.54-сообщество

Для обычных операторов SQL задержка не так велика.

Что может быть вероятной причиной (ами)? Также улучшит ли производительность кеш mysql?

Приветствия

Кстати, позвольте мне добавить, мой хранимый процесс создает временные таблицы для использования другим процессом данных. Производственная БД также подключена к тому же веб-приложению на другом веб-сервере PROD, на котором, как я полагаю, есть входящий трафик. Но почему это происходит только для моей хранимой процедуры. Мои другие запросы или обычные запросы не имеют значительной разницы во времени.

Может ли тупик вызвать задержку?

DEADLOCK was detected, 
OS WAIT ARRAY INFO: reservation count 17394257, signal count 14459620
--Thread 6600 has waited at G:\mysql-5.1.54-winbuild\mysql-community-nt-5.1.54-build\storage\innobase\
Mutex at 02878180 created file .\dict\dict0dict.c line 713, lock var 1
waiters flag 1
Mutex spin waits 0, rounds 367825986, OS waits 15398330
RW-shared spins 2245011, OS waits 810719; RW-excl spins 2893516, OS waits 820381
------------------------
LATEST DETECTED DEADLOCK
------------------------
110408  9:05:45
*** (1) TRANSACTION:
TRANSACTION 0 203543446, ACTIVE 0 sec, OS thread id 6584 fetching rows
mysql tables in use 2, locked 2
LOCK WAIT 761 lock struct(s), heap size 60736, 30170 row lock(s)

1 Ответ

0 голосов
/ 06 апреля 2011

На что посмотреть:

  • сравнить планы запросов, которые вы получаете от DEV и PROD
  • размер таблиц в PROD по сравнению с DEV
  • нагрузка на сервер PROD - максимальная загрузка процессора? много ли ждать ввода / вывода?
  • конфликт и блокировка в PROD
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...