@Panda_Tamara
Разработчик проектов под UMI.CMS

Как найти причину увеличения времени execute в PDO?

Реализована следующая схема:
1) на сервер кладутся XML файлы для обработки и записи данных в БД
2) на сервере установлен Gearman, в который добавляется задача на обработку xml, в момент появления нового xml
3) на сервере установлен Supervisord, который держит 10 воркеров, для параллельной обработки очереди в несколько потоков

Все это дело чудесно работает, кроме одного но. У меня логируется время выполнения execute в PDO на вставку/обновление данных в БД . И оно увеличивается. Скажем я положил 80 файлов, на первый execute скрипт потратил 0,002s. на 80 execute это время увеличивается до 0,02.

Что я пробывал:
1) профилирование SQL запроса. По результатам можно точно сказать, что время выполнения запроса не увеличивается.
2) трассировка PHP. Ничего не дало
3) подозрительно кошусь на LOCK TABLES ... WRITE в запросе, но он работает так быстро, что не уверен что дело в нем. Без него скорость такая же, только + ловлю дедлоки.

Получается что на этапе перехода запроса из Execute в PDO в процесс выполнения запроса на СУБД где-то происходит затык. Помогите, что может мешать? Настройки СУБД? настройки коннектов? где еще можно посмотреть и про что можно почитать? спасибо
  • Вопрос задан
  • 262 просмотра
Пригласить эксперта
Ответы на вопрос 1
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
Настроить слоу лог в мускуле.
Посмотреть размер кеша мускуля, есть подозрение что ему приходится чистить/читать в кеш , ибо не хватает, и это сильно тормозит процесс.

Больше пока мыслей нет, но думаю затырка в каком-то наполнении чего то, раз первые запросы идут норм.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽