Python процессы и MySQL - PullRequest
       2

Python процессы и MySQL

1 голос
/ 08 ноября 2011

Я запускаю несколько тысяч процессов Python на нескольких серверах, которые отключаются, ищут веб-сайт, проводят анализ, а затем записывают результаты в центральную базу данных MySQL.

Все работает нормально в течение примерно 8 часовтогда мои сценарии начинают ждать подключения MySQL.При проверке top ясно, что демон MySQL перегружен, поскольку он использует до 90% большинства процессоров.

Когда я останавливаю все свои сценарии, MySQL продолжает использовать ресурсы в течение некоторого времени после этого.Я предполагаю, что это все еще обновляет индексы?- Если да, то есть ли способ определить, над какими индексами он работает или нет, чем он фактически занимается?

Заранее большое спасибо.

Ответы [ 2 ]

0 голосов
/ 08 февраля 2012

Существует множество настроек, которые можно сделать для повышения производительности MySQL.Учитывая вашу рабочую нагрузку, вы, вероятно, много выиграете от MySQL 5.5 и выше, который улучшил производительность на многопроцессорных машинах.Машина, о которой идет речь, поражает ВМ?если это происходит, то производительность mysql будет ужасной.

Мои предложения:

  • проверить версию mysql.Если возможно, получите последнюю версию 5.5.

  • Посмотрите файлы конфигурации для mysql с именем my.cnf.Убедитесь, что это имеет смысл на вашей машине.Есть примеры конфигурационных файлов для маленьких, средних, больших и т. Д. Машин для запуска MySQL.Я думаю, что настройка по умолчанию для машины с <1 ГБ оперативной памяти.</p>

  • Как показывает другой ответ, включите медленное ведение журнала запросов.
0 голосов
/ 09 ноября 2011

Попробуйте включить медленный журнал запросов: http://dev.mysql.com/doc/refman/5.1/en/slow-query-log.html

Также посмотрите на вывод SHOW PROCESSLIST; в оболочке mysql она должна дать вам больше информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...