powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Непонятная нагрузка на CPU 100% после запуска MYSQL
25 сообщений из 36, страница 1 из 2
Непонятная нагрузка на CPU 100% после запуска MYSQL
    #38943908
BossBox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте. Проблема такая, после 12 часовой работы MySQL, начала грузить CPU на 100%.
Помогает только перезапуск сервиса MySQL и только на несколько минут, потом снова.

Настроил методом тыка, больше не смог оптимизировать, из-за нехватки опыта..
Запросов примерно 5-10 в секунду проходит, выполняется запись в таблицу параметра.
Прошу поглядеть, подсказать, что подправить)

Конфигурация mariaDB (10-я)


[client]
port = 3306
socket = /var/lib/mysql/mysql.sock

[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock
skip-external-locking
join_buffer_size = 64K
key_buffer_size = 1M
max_allowed_packet = 1M
table_open_cache = 1000
sort_buffer_size = 64K
read_buffer_size = 64K
read_rnd_buffer_size = 64K
query_cache_size = 10M
query_cache_limit = 10M
net_buffer_length = 2K
thread_stack = 64K
thread_cache_size = 5
max_connections = 20
max_user_connections = 10
skip-innodb
skip-bdb
skip-networking
default-storage-engine=myisam
query-cache-type=0
performance_schema = 0
server-id = 1

[mysqldump]
quick
max_allowed_packet = 8M

[mysql]
no-auto-rehash

[myisamchk]
key_buffer_size = 1M
sort_buffer_size = 1M

[mysqlhotcopy]
interactive-timeout


___

CentOS 6 (x32, 256 мб памяти, XEN, процессор 2000 МГц )
php-FPM
mariaDB (10-я)
nginx
...
Рейтинг: 0 / 0
Непонятная нагрузка на CPU 100% после запуска MYSQL
    #38943912
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Погодите на MySQL валить. Вы уверены что с веб-сервером все в порядке? Что нет атаки, не пришел краулер или еще какая зараза?


BossBoxkey_buffer_size = 1M
...
skip-innodbЭто как это? Какой тип таблиц реально используете?
Первый ключ делает практически неработоспособным MyISAM, а второй напрочь отключает InnoDB.
...
Рейтинг: 0 / 0
Непонятная нагрузка на CPU 100% после запуска MYSQL
    #38943915
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И что скажет SHOW FULL PROCESSLIST во время нагрузки?
...
Рейтинг: 0 / 0
Непонятная нагрузка на CPU 100% после запуска MYSQL
    #38943917
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BossBoxCPU на 100%Какие-то запросы при этом выполняются, есть ли "зависшие" или "долгоиграющие" в списке процессов?

BossBoxПомогает только перезапуск сервиса MySQLОстановка на некоторое время потока запросов (отключение клиента и т.п.) не помогает?
...
Рейтинг: 0 / 0
Непонятная нагрузка на CPU 100% после запуска MYSQL
    #38943920
BossBox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoftПогодите на MySQL валить. Вы уверены что с веб-сервером все в порядке? Что нет атаки, не пришел краулер или еще какая зараза?


BossBoxkey_buffer_size = 1M
...
skip-innodbЭто как это? Какой тип таблиц реально используете?
Первый ключ делает практически неработоспособным MyISAM, а второй напрочь отключает InnoDB.

С веб-сервером все нормально, nginx работает исправно.

Может быть PHP-FPM настроен как то неправильно, т.к. идет запрос на файл PHP и после через него уже к MYSQL.
Пробовал во время CPU 100%, перегрузить сервис PHP-FPM, буквально на несколько секунд спадает процессор и снова подымается, помогает только перезапуск MySQL.

Я глубоко извиняюсь, я плохо знаком с настройкой MySQL, возможно она выглядит у меня не очень вменяемо )
Использую MyISAM, в mysqltuner.pl показано отключить innoDB я вот отключил, и key_buffer_size тоже показало увеличить.

Вот текущий mysqltunner:

[!!] Currently running unsupported MySQL version 10.0.17-MariaDB
[OK] Operating on 32-bit architecture with less than 2GB RAM

-------- Storage Engine Statistics -------------------------------------------
[--] Status: +ARCHIVE +Aria +BLACKHOLE +CSV +FEDERATED -InnoDB +MRG_MyISAM
[--] Data in MyISAM tables: 4M (Tables: 37)
[--] Data in PERFORMANCE_SCHEMA tables: 0B (Tables: 52)
[OK] Total fragmented tables: 0

-------- Security Recommendations -------------------------------------------
[OK] All database users have passwords assigned

-------- Performance Metrics -------------------------------------------------
[--] Up for: 10s (9 q [0.900 qps], 8 conn, TX: 12K, RX: 1K)
[--] Reads / Writes: 100% / 0%
[--] Total buffers: 27.0M global + 384.0K per thread (20 max threads)
[OK] Maximum possible memory usage: 34.5M (14% of installed RAM)
[OK] Slow queries: 0% (0/9)
[OK] Highest usage of available connections: 5% (1/20)
[!!] Key buffer size / total MyISAM indexes: 1.0M/1.1M
[!!] Query cache is disabled
[OK] Temporary tables created on disk: 0% (0 on disk / 2 total)
[OK] Thread cache hit rate: 87% (1 created / 8 connections)
[OK] Table cache hit rate: 100% (62 open / 0 opened)
[OK] Open file limit used: 1% (24/2K)
[OK] Table locks acquired immediately: 100% (72 immediate / 72 locks)
[!!] Connections aborted: 25%

-------- Recommendations -----------------------------------------------------
General recommendations:
MySQL started within last 24 hours - recommendations may be inaccurate
Your applications are not closing MySQL connections properly
Variables to adjust:
key_buffer_size (> 1.1M)
query_cache_type (=1)
...
Рейтинг: 0 / 0
Непонятная нагрузка на CPU 100% после запуска MYSQL
    #38943925
BossBox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkleBossBoxCPU на 100%Какие-то запросы при этом выполняются, есть ли "зависшие" или "долгоиграющие" в списке процессов?

BossBoxПомогает только перезапуск сервиса MySQLОстановка на некоторое время потока запросов (отключение клиента и т.п.) не помогает?

В списке только MySQL висит в самом вверху с пометкой в графе CPU 98-99%, остальные нормально работают, но NGINX соответственно начинает долго отдавать страницы (из-за CPU наверно)

Вот сейчас запустил сервер ( картинка ), подожду когда будет CPU 100% выложу скрин.
...
Рейтинг: 0 / 0
Непонятная нагрузка на CPU 100% после запуска MYSQL
    #38943930
BossBox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Блин, извиняюсь, тут нельзя что ли редактировать сообщения
...
Рейтинг: 0 / 0
Непонятная нагрузка на CPU 100% после запуска MYSQL
    #38943932
BossBox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот SHOW FULL PROCESSLIST

...
Рейтинг: 0 / 0
Непонятная нагрузка на CPU 100% после запуска MYSQL
    #38943933
BossBox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Картинка не показывается...

http://cs622221.vk.me/v622221818/27021/qb3t4-y4nIw.jpg
...
Рейтинг: 0 / 0
Непонятная нагрузка на CPU 100% после запуска MYSQL
    #38943945
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BossBoxВот когда нагрузка CPU 100%Со стороны системы не увидите ничего. Смотрите, чем сам мускуль занят - mytop или периодическим вызовом SHOW FULL PROCESSLIST.

Если смотреть на картинку, криминального ничего не вижу на ней. Одно ядро выделено на машину? Если это так, и оно загружено чуть более чем наполовину (если верить LA) за последнюю минуту - то беспокоиться тут вообще не о чем. Что по мне, так лучше при возможности выделить машине ресурсов с некоторым запасом. Больше чем сможет откусить, всё равно не съест, зато при решения авральных задач в ступор не впадает сразу.



PS: Текстовые сообщения на этом форуме вполне можно размещать в виде текста с форматированием. Не обязательно постить картинки на весь экран.
...
Рейтинг: 0 / 0
Непонятная нагрузка на CPU 100% после запуска MYSQL
    #38943947
BossBox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkleBossBoxВот когда нагрузка CPU 100%Со стороны системы не увидите ничего. Смотрите, чем сам мускуль занят - mytop или периодическим вызовом SHOW FULL PROCESSLIST.

Если смотреть на картинку, криминального ничего не вижу на ней. Одно ядро выделено на машину? Если это так, и оно загружено чуть более чем наполовину (если верить LA) за последнюю минуту - то беспокоиться тут вообще не о чем. Что по мне, так лучше при возможности выделить машине ресурсов с некоторым запасом. Больше чем сможет откусить, всё равно не съест, зато при решения авральных задач в ступор не впадает сразу.



PS: Текстовые сообщения на этом форуме вполне можно размещать в виде текста с форматированием. Не обязательно постить картинки на весь экран.

Да, 1 ядро. Так как жить то дальше, если MySQL начинает грузить CPU 100%, сервер то страдает от этого, страницы отдает долго и сам тормозит )))
...
Рейтинг: 0 / 0
Непонятная нагрузка на CPU 100% после запуска MYSQL
    #38943956
BossBox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Установил mytop заметил, что при CPU 100% значение Key Efficiency: 90.1% становится ВЫСОКИМ.( картинка )

Из-за него может быть и как оптимально его выставить?
...
Рейтинг: 0 / 0
Непонятная нагрузка на CPU 100% после запуска MYSQL
    #38943970
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BossBoxДа, 1 ядро. Так как жить то дальше, если MySQL начинает грузить CPU 100%, сервер то страдает от этогоНу оно вполне логично. Ведь кроме мускуля на сервере есть ещё и вебсервер, да и собственные нужды тоже никто не отменял. Всё это эффективно разрулить на одном ядре не очень то получается. То есть, получится, конечно, когда запросы относительно редки. Но когда к вебсерверу приходит запрос странички, а проц в это время дико занят перемалыванием базы данных - разумеется, нагрузка будет расти. Способов выхода из такой ситуации не слишком много. Добавить машине одно или два ядра - это может сильно улучшить ситуацию, но дальнейшее наращивание скорее всего будет практически бесполезным - бутылочное горлышко переместится в другое место. Второй путь - это оптимизация настроек мускуля и оптимизация таблиц и запросов. В первую очередь следует выявить медленные запросы и постараться от них избавиться. Во время выполнения одного долгоиграющего запроса другие (полученные от других запросов к вебсерверу) могут выстраивать очереди. Это как раз создаёт иллюзию тормознутости сервера в целом.


BossBoxCPU 100% значение Key Efficiency: 90.1% становится ВЫСОКИМНу это вроде статистики использования буфера индексов в памяти, без обращения к диску. Возможно, при возрастании нагрузки выполняется большое количество однотипных запросов и индексы не вымываются из буфера. Само по себе это значение мало чего говорит (чем больше - тем лучше, 100% - идеал), но будет полезным при хорошем представлении об используемых в запросах таблицах. Во всяком случае, имеющееся key_buffer_size = 1M лично мне кажется слишком низким значением для сколько-то серьёзной работы. Если и при нормальной работе (при низкой нагрузке) значение эффективности остаётся высоким - то есть смысл посмотреть, все ли необходимые индексы установлены. А если снижается - ну тут понятно, пожадничали с памятью и мускуль вынужден заново считывать индексы с диска, что совершенно не улучшает производительность системы в целом. До 100% эффективность может и не догоните, но уж 95 надо бы получить.
...
Рейтинг: 0 / 0
Непонятная нагрузка на CPU 100% после запуска MYSQL
    #38943984
BossBox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkle...

У меня в общем сейчас такая ситуация, в БД 27 таблиц, примерно в 40% из них содержится около 1000-10000 записей (строка с 2 значениями, IP и DATA), всего около 100 000 записей в этой БД.

Я почитал про индексы, но так и не понял, как ими пользоваться, через php что ли?
...
Рейтинг: 0 / 0
Непонятная нагрузка на CPU 100% после запуска MYSQL
    #38944005
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BossBoxЯ почитал про индексы, но так и не понял, как ими пользоваться
Если очень коротко, то индексы позволяют обращаться непосредственно в нужное место таблицы (или файла таблицы, если так угодно) без необходимости "прокручивания" всей таблицы в поисках нужных записей. Это одна из основных функций индекса, есть ещё и другие. Когда индекс портится (например, при пропадании ляктричества), то сервер часто после включения продолжает вроде бы нормально работать, но при этом нещадно тупит, попутно инициируя множество ненужного чтения с диска.

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

Потому при проблемах СУБД с индексами приходится сталкиваться практически всегда - и при первоначальном осмотре, и при разного рода восстановлении, и при оптимизации запросов и таблиц...


BossBoxвсего около 100 000 записей в этой БДЭто немного. Описываемая БД единственная на сервере, или есть ещё другие, активно или не очень используемые?
...
Рейтинг: 0 / 0
Непонятная нагрузка на CPU 100% после запуска MYSQL
    #38944112
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BossBox[--] Data in MyISAM tables: 4M (Tables: 37)
BossBox[!!] Key buffer size / total MyISAM indexes: 1.0M/1.1MБаза крохотная совсем.
key_buffer_size достаточно будет 2-4 Мб. Далее по мере роста базы или создания новых индексов будет достаточно, если он будет превышать "total MyISAM indexes" на 10-20%.

И покажите результат SHOW CREATE TABLE upd_wotspeak_ru
...
Рейтинг: 0 / 0
Непонятная нагрузка на CPU 100% после запуска MYSQL
    #38944152
BossBox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я конечно понимаю, что ждать что кто то решит мою проблему и напишет готовый вариант, глупо.
Но зачем я написал тогда на форум, в итоге ни решения ничего, одна теория не нужная..
Ее почитать и в сети, я читал.

Команда: SHOW CREATE TABLE

MariaDB [NotificationBox]> SHOW CREATE TABLE upd_wotspeak_ru;
+-----------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+-----------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| upd_wotspeak_ru | CREATE TABLE `upd_wotspeak_ru` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`data` varchar(50) NOT NULL,
`host` varchar(50) NOT NULL,
`type` varchar(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=24773 DEFAULT CHARSET=latin1 |
+-----------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
...
Рейтинг: 0 / 0
Непонятная нагрузка на CPU 100% после запуска MYSQL
    #38944162
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BossBoxЯ конечно понимаю, что ждать что кто то решит мою проблему и напишет готовый вариант, глупо.
Но зачем я написал тогда на форум, в итоге ни решения ничего, одна теория не нужная..
Ее почитать и в сети, я читал.
Простите, а что конкретно Вы ожидали от форума?

Предложение увеличить размер буфера ключей - было. Сделали? Понаблюдали за результатом? Что изменилось?

Предложение показать грузящие запросы - было. Не показали. Предлагаете гадать на кофейной гуще, что там выполняется?

Структура таблицы есть. Это хорошо. Запросов, которые на ней выполняются - не видно. Сложно сказать, достаточно ли для нормальной работы единственного индекса на поле `id` или нужны какие-то ещё. Наверняка, нужны. Какие именно - надо смотреть по запросам. Показывайте их.
...
Рейтинг: 0 / 0
Непонятная нагрузка на CPU 100% после запуска MYSQL
    #38944168
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BossBoxНо зачем я написал тогда на форум, в итоге ни решения ничего, одна теория не нужная..Спокойствие, только спокойствие.
Про то, что нужно увеличить key_buffer_size вам уже написали.

Теперь создайте индекс по полю host в таблице upd_wotspeak_ru. UPDATE, который был показан выше, должен начать работать заметно быстрее. А если в поле `host` всегда хранятся только ip-адреса, то имеет смысл сменить тип поля на unsigned int, тогда сократится и размер таблицы, и размер индекса. И поиск станет еще немного быстрее. Правда, тогда придется и запросы править, которые с этой таблицей работают.

Если включите sloq query log, то сможете наловить еще запросов, которые можно оптимизировать.

И мой вопрос насчет роста интенсивности внешних запросов вы пропустили.
...
Рейтинг: 0 / 0
Непонятная нагрузка на CPU 100% после запуска MYSQL
    #38944170
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkleЗапросов, которые на ней выполняются - не видно.На скриншоте я таки один разглядел :)
...
Рейтинг: 0 / 0
Непонятная нагрузка на CPU 100% после запуска MYSQL
    #38944222
BossBox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Извиняюсь, что не всю информацию предоставил. Я сейчас установил, phpMyAdmin там вроде есть советы по оптимизации после как сервер проработает какое то время и переустановлю MariaDB, в течении 2-3 дней подыму тему, как сервер проработает и если повторится нагрузка на CPU 100%.

miksoftТеперь создайте индекс по полю host в таблице upd_wotspeak_ru. UPDATE, который был показан выше, должен начать работать заметно быстрее. А если в поле `host` всегда хранятся только ip-адреса, то имеет смысл сменить тип поля на unsigned int, тогда сократится и размер таблицы, и размер индекса. И поиск станет еще немного быстрее. Правда, тогда придется и запросы править, которые с этой таблицей работают.Извиняюсь, я не знаю как это сделать.

miksoftИ мой вопрос насчет роста интенсивности внешних запросов вы пропустили.Не увидел, какой вопрос был?

[quot vkle]Предложение увеличить размер буфера ключей - было. Сделали? Понаблюдали за результатом? Что изменилось?/quot] Сервер был выключен, сейчас включил, после отдыха CPU на 100% не сразу подымается, через некоторое время как проработает.

vkleПредложение показать грузящие запросы - было. Не показали. Извиняюсь, я не знаю как это сделать.
...
Рейтинг: 0 / 0
Непонятная нагрузка на CPU 100% после запуска MYSQL
    #38944234
BossBox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Файл настроек для MySQL я накидал бегло (просто занизил все значения), если может кто помочь, накидайте пожалуйста какие параметры лучше прописать (хотя бы основные)
...
Рейтинг: 0 / 0
Непонятная нагрузка на CPU 100% после запуска MYSQL
    #38944241
BossBox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoftТеперь создайте индекс по полю host в таблице upd_wotspeak_ru. UPDATE, который был показан выше, должен начать работать заметно быстрее. А если в поле `host` всегда хранятся только ip-адреса, то имеет смысл сменить тип поля на unsigned int, тогда сократится и размер таблицы, и размер индекса. И поиск станет еще немного быстрее. Правда, тогда придется и запросы править, которые с этой таблицей работают.

Расскажите пожалуйста это поподробнее!!! Я нулевой уровень, в этих настройках.
...
Рейтинг: 0 / 0
Непонятная нагрузка на CPU 100% после запуска MYSQL
    #38944244
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BossBoxmiksoftТеперь создайте индекс по полю host в таблице upd_wotspeak_ru.Извиняюсь, я не знаю как это сделать.Либо кнопконажимательно в phpMyAdmin (деталей не подскажу), либо командой CREATE INDEX idx_host ON upd_wotspeak_ru (host)



BossBoxmiksoftИ мой вопрос насчет роста интенсивности внешних запросов вы пропустили.Не увидел, какой вопрос был?miksoftЧто нет атаки, не пришел краулер или еще какая зараза?Это к тому, что если выросло количество внешних запросов, то неудивительно, что сервер перегружен, а MySQL просто оказался узким местом.
Возможно, есть смысл ввести какой-то контроль или ограничения на уровне файерволла или веб-сервера. Например, мне пришлось запретить в файерволле ip-адреса некоторых ботов, которые имеют наглость присылать десятки http-запросов в секунду. А иногда адреса вашего сервера публикуют на популярном сайте и количество посещений резко возрастает. Т.е. такого рода случаи тоже нельзя упускать из рассмотрения.
...
Рейтинг: 0 / 0
Непонятная нагрузка на CPU 100% после запуска MYSQL
    #38944250
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BossBox,

Но поскольку мы в подфоруме по MySQL, то предлагаю им и заняться.
Выполните рекомендации, данные выше, и включите Slow query log. Думаю, там наберутся еще запросы, которые нужно оптимизировать. Показывайте их здесь в текстовом виде в тэге SRC.
...
Рейтинг: 0 / 0
25 сообщений из 36, страница 1 из 2
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Непонятная нагрузка на CPU 100% после запуска MYSQL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]