Задать вопрос
Ответы пользователя по тегу MySQL
  • Как настроить mysql в debian для высокой нагрузки?

    @Merlyel
    0) а вы уверены, что ошибка из-за мускуля? может, у вас что-то с php (если он используется) или с самим nginx? его логи смотрели?
    1) почитать про persistent mysql connections
    2) добавить логирование запросов без индексов
    3) почитать, что пишет mysqltuner/tuning-primer - бывает советуют полезные вещи
    4) проверить лог сервера и веб-сервера, может они тоже ругаются на количество открытых файлов - тогда нужно править эти лимиты в системе (например, вот один мануальчик www.cyberciti.biz/faq/linux-increase-the-maximum-n...)
    5) выделите больше памяти mysql, особенно innodb
    6) таймауты очень большие - 4 часа - возможно, у вас висит куча неиспользуемых процессов
    7) зайти в ЧНН в консоль mysql и посмотреть список процессов (show processlist;) - посмотреть, что там происходит, возможно сразу будут видны locks
    8) переключение на tcp/ip может помочь с ошибкой на открытые файлы, но одновременно может уменьшить производительность
    While you don't hit the entire IP stack when going over localhost, you still hit a big part of it. A unix socket is essentially just a 2-way pipe. It's faster and lighter.
    да и в любом случае - это временный обход проблемы, а не решение. Просто рано или позже эта же ошибка вылезет в другом месте
    9) посмотрите на значения iowait в top/iotop - возможно, проблема не в запросах, а в дисковой подсистеме. В таком случае может помочь вынос мускуля на отдельный раздел
    10) попробуйте посмотреть загрузку по процессорам (нажать 1 в top), возможно один-два процессора забиты под завязку, а остальные простаивают. Возможно, в таком случае будет смысл разнести задачи по процам
    Ответ написан
    Комментировать