|
|
|
Mysql периодически жрет ресурс CPU
|
|||
|---|---|---|---|
|
#18+
Аналогично, общий лог mysql тоже довольно сложен для быстрой обработки, нужно писать/искать обработчик, который бы показал разницу в количестве запросов/соединений в конкретные моменты или малые промежутки времени. А еще вечером попробовали apache benchmark, в 2-х вариантах. В первом варианте выполнялся простой скрипт, в котором открывалось и закрывалось соединение с mysql ab -kc 150 -t 20 http://site.com/test_script.php (150 конкурентных соединений, каждую секунду, на интервале в 20 секунд) mysql в таком сочетании поджирал до 200% CPU, потом нагрузка спадала почти мгновенно, как только отрабатывала команда ab а вот в варианте ab -kc 150 -t 20 http://site.com/ потребление CPU подскакивало до 600-700%(это только mysql), top показывал 75%sy очередь запросов завершилась где-то спустя 1,5-2 минуты после окончания теста. В общем, решили увеличить еще thread_cahce_size, чтобы в него помещались 400 потоков хотя бы После этого первый тест проходил вообще незамеченным, а вот второй все равно сопровождался потерями производительности, хоть и меньшими, чем при thread_cahce_size=128 Видимо, простыми изменениями конфигурации проблема не решается, так что наметили пути: 1. Переход на новый движок БД не факт, что сильно поможет, но есть же исследование , где масштабируемость версий MySQL/Percona 5.6/5.7 существенно лучше, чем у 5.5, которая у нас на данный момент 2. Кэш, куда ж без него(к слову, мы уже один раз обожглись на плагине wp_supercache, поэтому это может быть самым последним пунктом) 3. Провести ревизию кода с упором на то, чтобы выкинуть лишние запросы, которые, в первом приближении таки существуют. К сожалению, процесс небыстрый, простым отключением плагинов не решается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2016, 11:43 |
|
||
|
Mysql периодически жрет ресурс CPU
|
|||
|---|---|---|---|
|
#18+
[quot s_vist]Продолжаю... так же увеличилось число thread_created c 248 до 698(разница в снятии данных - 2 минуты) Ну и последнее, по статистике переменной connections Вообще, средняя разница этого параметра на каждом 2-минутном интервале перед случившейся "лавиной" интервале составила около 2000, кроме последнего. На последнем 2-минутном интервале, на котором по сути уже началось выжирание процессорного ресурса, разница в количестве connections составила 3948 - почти в 2 раза больше среднего. s_vistПо логу nginx вычислить какую-то аномалию довольно сложно было, т.к. там на каждый запрос есть куча связанных запросов(стилей, картинок и скриптов), поэтому простыми подсчетами кол-ва запросов на интервале времени выявить повышенную нагрузку не удавалось Ну так пора поставить мониторинг ? Для начала вам хватит munin, но нужно не забыть поставить дополнительные плагины для nginx,php-fpm и mysql (по-моему в дистрибутивах все старенькое, поэтому лучше скачать). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2016, 13:07 |
|
||
|
Mysql периодически жрет ресурс CPU
|
|||
|---|---|---|---|
|
#18+
s_vistАналогично, общий лог mysql тоже довольно сложен для быстрой обработки, нужно писать/искать обработчик, который бы показал разницу в количестве запросов/соединений в конкретные моменты или малые промежутки времени. general-log сейчас pt-query-digest прекрасно обрабатывает, хотя создан он был для slow log. В общем, решили увеличить еще thread_cahce_size, чтобы в него помещались 400 потоков хотя бы Да что вы так к этим потокам прицепились ? Из-за того что у вас недостаточно средств мониторинга, вы уперлись только в что можете посчитать и вообще по ложному следу пошли. Конечно, есть определенные накладные расходы на создание потоков, но они небольшие. 3. Провести ревизию кода с упором на то, чтобы выкинуть лишние запросы, которые, в первом приближении таки существуют. К сожалению, процесс небыстрый, простым отключением плагинов не решается. успехов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2016, 13:22 |
|
||
|
|

start [/forum/topic.php?fid=47&startmsg=39265328&tid=1831334]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
164ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 214ms |
| total: | 468ms |

| 0 / 0 |
