Директор сайта

Достижения

Все достижения (6)

Наибольший вклад в теги

Все теги (16)

Лучшие ответы пользователя

Все ответы (20)
  • Странные временные тормоза MySQL. Какая причина?

    @andreyvlru Автор вопроса
    менеджер-программист
    В процессе решения мигрировали на 5.6, лучше точно не стало
    возможно производительность даже ухудшилась (ну или так совпало)

    потом вышли на запрос, который обнулял 250 тыс строк (считай всю таблицу).
    Сам запрос простейший: update a set a.x = 0;
    Он выполнялся 20 секунд!. И в процессе выполнения в лог начинали сыпаться slow queries.

    В реальности данные менялись у 1 тысячи строк, остальное оставалось нетронутым. Добавили условие по индексированному полю, чтобы менять только нужные и он стал менее секунды выполняться.

    Остается вопрос, почему это все раньше работало....
    подозреваю появление зависимостей которым нужна таблица, а она в этот момент обновляется. Пока они ждут, мгновенно вырастает очередь коннектов, они упираются в лимит и все падает

    ----

    Все оказалось совсем не так. База не тормозила, тормозили веб-сервера

    Цепочка примерно следующая
    В час пик на веб серверах начинает увеличиваться время ответа. С 50-100ms до 1000-1500ms.
    Каждый запрос висит дольше обычного и дольше занимает коннект к MySQL. В итоге все возможные коннекты выбираются и все упирается в max_mysql_connection

    Веб-сервера хоть и работают медленнее, но все равно потихоньку шевелятся. У них количество допустимых процессов выше чем максимум коннектов к БД. В итоге мы думали что тормозит база. Там еще было некоторое количество slow запросов, но они видимо всегда были, просто пока не было ошибок мы на них внимания не обращали.

    Проблему решаем следующим образом
    1. Несколько перебалансировали раздачу нагрузки по веб-серверам, чтобы процессор равномернее использовался
    2. Заказли еще один веб-сервер
    3. Оптимизируем "тяжелые" страницы

    P.S. Тем не менее TRIM на серверах бд все равно нужен и мы будем настоятельно просить инженеров хостера включить его
    Ответ написан
    Комментировать
  • Иммиграция разработчика в Канаду. Что, где и зачем?

    @andreyvlru
    менеджер-программист
    Заканчивайте ВУЗ и учите английский!
    Шестерка по IELTS это мало, вам нужно 7 и выше
    Если смотрите на Канаду, то смотрите и на США
    И вам очень стоит подумать об обучении непосредственно в этих странах, если найдете возможность
    то большинство других вопросов отпадут сами собой.
    Ответ написан
    Комментировать
  • Из-за большого количество посетителей сайт поплыл, что делать?

    @andreyvlru
    менеджер-программист
    1500 / 10 / 60 = 2.5 запроса в секунду это очень мало

    локализуйте проблему
    Вам нужно узнать сколько по времени генерируются страницы
    за какое время выполняются запросы к базе
    и после этого вам станет понятно что улучшать
    Ответ написан
    1 комментарий
  • Как найти причину нагрузки на процессор?

    @andreyvlru Автор вопроса
    менеджер-программист
    похоже что проблема в банальной нехватке памяти
    Сервер 16Gb памяти
    redis 7 Gb
    php-fpm 5-8 Gb

    Думаю малейшие перегрузки по памяти приводили к свопу или отказам. Подтверждений правда пока не увидел. Расгрузил сервер, убрал часть нагрузки на запасной, посмотрим как сегодня на пике нагрузки будет.

    P.S. Спасибо за наводку на newrelic - штука офигенная, но и дорогая собака
    Ответ написан
    Комментировать
  • Работа с удаленной базой данных MySQL. Почему медленная передача данных?

    @andreyvlru
    менеджер-программист
    Самое простое и часто встречающее в данной ситуации - долгий ресолв через DNS
    остальное из имеющейся информации тяжело сообразить
    Ответ написан
    Комментировать

Лучшие вопросы пользователя

Все вопросы (13)