- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Маркетинг для шоколадной фабрики. На 34% выше средний чек
Через устранение узких мест
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Периодически появляется висящий процесс mysqld, который висит очень долго, много жрет ресурсов и неизвестно что делает, вот строка, показываемая командой top:
Т.е. смущает время 359:22.95 - это разве нормально? из-за чего это может быть, как можно полечить?
mysql обычно всякие выборки делает, вставки и обновления..
Так как mysql сервер не запускается для каждого нового запроса, то его суммарное процессорное время может быть достаточно большим.
командой top я обычно вижу много процессов mysqld, они появляются отрабатывают и закрываются, означает ли это, что есть некий один процесс, который висит всегда, а остальные запускаются по мере необходимости? с др. стороны если я убиваю приведенный ввыше странный процесс, то все продолжает работать также, даже лучше (все сайты продолжают работать), только освобождаются ресуры, занятые этим процессом, это память + проц (поэтому визульано наблюдается прирост скорости работы сайтов).
Скорее всего, этот процесс обрабатывает какой-то медленный запрос. Попробуйте включить лог медленных запросов и вычислить его, либо посмотреть что-то странное в SHOW FULL PROCESSLIST;
Boris A Dolgov добавил 27.11.2008 в 22:37
Если единовременно запущено много процессов mysql (больше 50), я бы советовал смотреть уже в сторону оптимизации серверного ПО
mysql процесс один. Всё остальное - треды.
означает ли это, что есть некий один процесс, который висит всегда, а остальные запускаются по мере необходимости?
Сами процессы не запускаются. Их кто-то должен запустить. Догадайтесь, кто это делает в mysql?
А по сабжу, поставьте mytop и полюбопытствуйте, кто там у вас такой толстый. Или попросту: mysql --execute="show processlist"
обычно кол-во процессов ограничено кол-вом ядер
А по сабжу, поставьте mytop и полюбопытствуйте, кто там у вас такой толстый. Или попросту: mysql --execute="show processlist"
Спасибо за mytop, отличная прога. Висящих необъятное количество времени запросов не обнаружено. Прога выдает такую шапку:
Тем не менее, один процесс mysqld явно уже выделяется среди остальных с временем 65:52.40 mysqld против ближайших конкурентов 0:51.32 mysqld
softvariant.ru добавил 28.11.2008 в 02:30
mysql процесс один. Всё остальное - треды.
С чего это top будет выдавать треды, там никаких экранов не хватитило бы для вывода. Например, memcached в top показывается одним процесом, в то время, как реально работают 4 треда.
Тем не менее, один процесс mysqld явно уже выделяется среди остальных
Это не официальная документация, но интересные заметки:
Создание треда отличается от обычного fork() в основном тем, что fork порождает +1 процесс, тогда как деление на треды использует другую, более производительную технологию ветвления без клонирования данных в памяти.
При каждом подключении клиента, mysql создает тред, который это подключение обрабатывает.
Это время процессора, если работает нормально, то не мешайте mysql работать ;)
Это время процессора, если работает нормально, то не мешайте mysql работать ;)
Так вот на пределе работает ж, ищем рычаги, что можно подкрутить. Например, при сбросе кеша в memcached сервер просто практически подвисает минут на 10-15, пока новые запросы не станут активно выниматься из кеша в обход базы.