autoua
×
Autoua.netФорумІнформатика та побутова електроніка

расход оперативной памяти мускулом

Достоевский *
21 год за рулем, Vorlon Planet
Сообщения: 6789
С нами с 14.08.2011

расход оперативной памяти мускулом
      2 декабря 2022 в 09:07 Гілками

Собственно сабж, есть сервер на котором крутится десятка 2 сайтов разных авторов, и еще большая пачка софта которая конектится к БД через скрипты. Днем когда все пользовали работают с сервером все хорошо, расход оперативы на сервере около 30 процентов, это занятая память всеми процессами линукса. Но как только наступает ночь творится вакханалия, резкий рост потребления оперативы за счет мускула. В течении получаса, мускул на себя берет около 50 процентов оперативы , иногда больше. Проверили лог медленных запросов, там не чего подозрительного нет. Проверили слип запросы - они в течении дня появляются и на расход памяти не как не влияют. Написали даже скрипт делающий kill для слип запросов. Днем все хорошо а ночью хаотично гдето с 22.30 до 5 утра ловинообразно оператива заполняется. Грешили на некоторые крон скрипты, грешили даже на штатный процесс бекапа от ispmanager, передвигали расписание крон скриптов, отключали бекапы. Не как не влияет на хаотичное потребление оперативы. Днем если сделать ребут мускула - потреблеение оперативки так и остается на низком уровне. Поставил на крон задачу, - ребут в 4.30. После перезагрузки через пол часа потребление оперативы опять выросло до прежнего максимального значения. В error журнале мускула только по ночам - too many connections. Не чего более интересного.

Роздрукувати   Нагадати!   Сповістити модератора   Відправити по E-mail
Достоевский **
102 года за рулем, Munchen, DE
Сообщения: 8218
С нами с 16.06.2005

Re: расход оперативной памяти мускулом [Re: kvadjagan]
      2 декабря 2022 в 10:24 Гілками

Это не проблема, а симптом.

спойлер...

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


Давным давно, когда я админил шаред хостинги, типовой проблемой были неоптимальные запросы к базе. Одна-две паршивых овцы на 300-400 клиентов на одном сервере могли оттянуть на себя все ресурсы.

Типовое решение - просмотреть show full processlist, сделать запросам explain. Как минимум получится отловить те, которые делают сортировку во временных таблицах или делают поиск в текстовых полях. Иногда будет очевидное решение - индексы, иногда будет сложнее - рефакторинг движка сайта - избавиться от декартового произведения где это не нужно, переписать запросы на left join и добавить лимиты, где этого будет достаточно. Иногда решение слишком очевидно.

А после этого думать что делать дальше если проблема осталась.


Змінено Tibor (10:45 02/12/2022)


Роздрукувати   Нагадати!   Сповістити модератора   Відправити по E-mail
Достоевский *
21 год за рулем, Vorlon Planet
Сообщения: 6789
С нами с 14.08.2011

Re: расход оперативной памяти мускулом [Re: Tibor]
      2 декабря 2022 в 20:40 Гілками

Tibor 02.12.2022 10:24 пишет:

Это не проблема, а симптом.

спойлер...

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





ок, спасибо, будем копать в эту сторону. Только небольшая ремарка, у нас vps сервер на 32 гб оперативы. Т.е. ресурсов не мало, это совсем не общий хостинг в плане производительности.


Роздрукувати   Нагадати!   Сповістити модератора   Відправити по E-mail
новичок *****
Сообщения: 26
С нами с 07.04.2016

Re: расход оперативной памяти мускулом [Re: kvadjagan]
      2 декабря 2022 в 23:34 Гілками

kvadjagan 02.12.2022 09:07 пишет:

В error журнале мускула только по ночам - too many connections. Не чего более интересного.




А днем есть too many connections? Может конфиги связанные с коннекшнами плохие?
Попробуй юзнуть MySQLTuner и глянуть что он скажет.

https://serverfault.com/questions/92056/how-to-find-out-the-memory-cost-of-each-mysql-connection
https://serverfault.com/questions/875192/mysql-maximum-possible-memory-usage-above-installed-ram

Также можешь поиграться с FLUSH командой (в частности FLUSH TABLES и FLUSH HOSTS)
https://dev.mysql.com/doc/refman/8.0/en/flush.html


Роздрукувати   Нагадати!   Сповістити модератора   Відправити по E-mail
Сообщения: 58194
С нами с 03.09.2001

Re: расход оперативной памяти мускулом [Re: kvadjagan]
      3 декабря 2022 в 10:18 Гілками

kvadjagan 02.12.2022 09:07 пишет:

В error журнале мускула только по ночам - too many connections. Не чего более интересного.



Кожен коннекшн як раз і жере оперативну пам'ять, навіть як нічого не робить. Шукайте звідки саме їх стільки ночами набігає.

Дещо пальцем в небо, але чи не доступний той ваш мускл всьому інтернету? Боти тоді набігають паролі перебирать, в мускл невдала спроба логіну - це теж коннекшн.

Змінено Drunkard (10:27 03/12/2022)


Роздрукувати   Нагадати!   Сповістити модератора   Відправити по E-mail
Достоевский *
21 год за рулем, Vorlon Planet
Сообщения: 6789
С нами с 14.08.2011

Re: расход оперативной памяти мускулом [Re: Drunkard]
      3 декабря 2022 в 15:22 Гілками

Drunkard 03.12.2022 10:18 пишет:

kvadjagan 02.12.2022 09:07 пишет:

В error журнале мускула только по ночам - too many connections. Не чего более интересного.



Кожен коннекшн як раз і жере оперативну пам'ять, навіть як нічого не робить. Шукайте звідки саме їх стільки ночами набігає.

Дещо пальцем в небо, але чи не доступний той ваш мускл всьому інтернету? Боти тоді набігають паролі перебирать, в мускл невдала спроба логіну - це теж коннекшн.



саме так, ви маете рацію, нажать у нас без зовнішнього доступу до БД ніяк не можна адже частина нашого софту працює напряму з БД без проміжних веб скриптів. І так нас по по ночах різні покидьки трошки бруторсять. Але я не думав що брутфорс може зжерти під 16 гб оперативки (половинку від 32, десь так на око).


Роздрукувати   Нагадати!   Сповістити модератора   Відправити по E-mail
Достоевский *
21 год за рулем, Vorlon Planet
Сообщения: 6789
С нами с 14.08.2011

Re: расход оперативной памяти мускулом [Re: maxhellua]
      3 декабря 2022 в 15:25 Гілками

maxhellua 02.12.2022 23:34 пишет:

kvadjagan 02.12.2022 09:07 пишет:

В error журнале мускула только по ночам - too many connections. Не чего более интересного.




А днем есть too many connections? Может конфиги связанные с коннекшнами плохие?
Попробуй юзнуть MySQLTuner и глянуть что он скажет.

https://serverfault.com/questions/92056/how-to-find-out-the-memory-cost-of-each-mysql-connection
https://serverfault.com/questions/875192/mysql-maximum-possible-memory-usage-above-installed-ram

Также можешь поиграться с FLUSH командой (в частности FLUSH TABLES и FLUSH HOSTS)
https://dev.mysql.com/doc/refman/8.0/en/flush.html



мускултюнер я проверю, раньше он был, но в августе был переезд, так что не помню, пережил ли он переезд. За линки спасибо, почитаю.
Кстати, пока причина утечки не найдена, перебиваемся костылями - боремся с симпотомами. Поставил 3 перезагрузки через крон - 5, 5.30, 6 утра. После 3 перезагрузки - утечек оперетивы нет до полуночи минимум. Т.е. до ближайшего полуночного шабаша.


Роздрукувати   Нагадати!   Сповістити модератора   Відправити по E-mail
ssb
Достоевский **
36 лет (17 лет за рулем), Киев
Сообщения: 7037
С нами с 25.01.2008

Re: расход оперативной памяти мускулом [Re: kvadjagan]
      3 декабря 2022 в 18:08 Гілками

kvadjagan 03.12.2022 15:22 пишет:

нажать у нас без зовнішнього доступу до БД ніяк не можна адже частина нашого софту працює напряму з БД без проміжних веб скриптів. І так нас по по ночах різні покидьки трошки бруторсять. Але я не думав що брутфорс може зжерти під 16 гб оперативки (половинку від 32, десь так на око).


фаєрволом не можна відкрити тільки на окремі айпі?
ну чи хоча б якийсь fail2ban


Роздрукувати   Нагадати!   Сповістити модератора   Відправити по E-mail
Достоевский *
21 год за рулем, Vorlon Planet
Сообщения: 6789
С нами с 14.08.2011

Re: расход оперативной памяти мускулом [Re: ssb]
      4 декабря 2022 в 09:04 Гілками

ssb 03.12.2022 18:08 пишет:

kvadjagan 03.12.2022 15:22 пишет:

нажать у нас без зовнішнього доступу до БД ніяк не можна адже частина нашого софту працює напряму з БД без проміжних веб скриптів. І так нас по по ночах різні покидьки трошки бруторсять. Але я не думав що брутфорс може зжерти під 16 гб оперативки (половинку від 32, десь так на око).


фаєрволом не можна відкрити тільки на окремі айпі?
ну чи хоча б якийсь fail2ban



нажаль whitelist для підкючення до БД не можна сформувати, бо софт на клієнтських машинах стоїть, там багато різних айпішників. А он скріпт бану за спроби брутфорсити - це варіант.


Роздрукувати   Нагадати!   Сповістити модератора   Відправити по E-mail
Сообщения: 58194
С нами с 03.09.2001

Re: расход оперативной памяти мускулом [Re: kvadjagan]
      4 декабря 2022 в 09:20 Гілками

kvadjagan 03.12.2022 15:22 пишет:

Drunkard 03.12.2022 10:18 пишет:

kvadjagan 02.12.2022 09:07 пишет:

В error журнале мускула только по ночам - too many connections. Не чего более интересного.



Кожен коннекшн як раз і жере оперативну пам'ять, навіть як нічого не робить. Шукайте звідки саме їх стільки ночами набігає.

Дещо пальцем в небо, але чи не доступний той ваш мускл всьому інтернету? Боти тоді набігають паролі перебирать, в мускл невдала спроба логіну - це теж коннекшн.



саме так, ви маете рацію, нажать у нас без зовнішнього доступу до БД ніяк не можна адже частина нашого софту працює напряму з БД без проміжних веб скриптів. І так нас по по ночах різні покидьки трошки бруторсять. Але я не думав що брутфорс може зжерти під 16 гб оперативки (половинку від 32, десь так на око).



Як ви геть нічим не обмежуєте брутфорс, то він необмежено сжерти і може, йому ж пофіг десять чпроб зробити чи десять мільйонів.

Ідіть гратись в whitelist. Бо інакше це ніяк не припинити. І парольчик рано чи пізно воно ж підбере якийсь.

Змінено Drunkard (09:22 04/12/2022)


Роздрукувати   Нагадати!   Сповістити модератора   Відправити по E-mail
Достоевский *
21 год за рулем, Vorlon Planet
Сообщения: 6789
С нами с 14.08.2011

Re: расход оперативной памяти мускулом [Re: Drunkard]
      4 декабря 2022 в 21:33 Гілками

Drunkard 04.12.2022 09:20 пишет:

kvadjagan 03.12.2022 15:22 пишет:

Drunkard 03.12.2022 10:18 пишет:


В ответ на:

...




Кожен коннекшн як раз і жере оперативну пам'ять, навіть як нічого не робить. Шукайте звідки саме їх стільки ночами набігає.

Дещо пальцем в небо, але чи не доступний той ваш мускл всьому інтернету? Боти тоді набігають паролі перебирать, в мускл невдала спроба логіну - це теж коннекшн.



саме так, ви маете рацію, нажать у нас без зовнішнього доступу до БД ніяк не можна адже частина нашого софту працює напряму з БД без проміжних веб скриптів. І так нас по по ночах різні покидьки трошки бруторсять. Але я не думав що брутфорс може зжерти під 16 гб оперативки (половинку від 32, десь так на око).



Як ви геть нічим не обмежуєте брутфорс, то він необмежено сжерти і може, йому ж пофіг десять чпроб зробити чи десять мільйонів.

Ідіть гратись в whitelist. Бо інакше це ніяк не припинити. І парольчик рано чи пізно воно ж підбере якийсь.



дякую, зробимо блекліст для любителів брутфорсу.


Роздрукувати   Нагадати!   Сповістити модератора   Відправити по E-mail
Достоевский **
102 года за рулем, Munchen, DE
Сообщения: 8218
С нами с 16.06.2005

Re: расход оперативной памяти мускулом [Re: kvadjagan]
      5 декабря 2022 в 01:25 Гілками

Если захотят сломать и обнаружат, что фаерволлят, пойдут елочкой.

По хорошему нужно впн с клиентом настраивать. Но до сих пор только предположения в чем именно проблема.


Роздрукувати   Нагадати!   Сповістити модератора   Відправити по E-mail
Сообщения: 58194
С нами с 03.09.2001

Re: расход оперативной памяти мускулом [Re: kvadjagan]
      5 декабря 2022 в 12:06 Гілками

kvadjagan 04.12.2022 21:33 пишет:

Drunkard 04.12.2022 09:20 пишет:

kvadjagan 03.12.2022 15:22 пишет:


В ответ на:

...




саме так, ви маете рацію, нажать у нас без зовнішнього доступу до БД ніяк не можна адже частина нашого софту працює напряму з БД без проміжних веб скриптів. І так нас по по ночах різні покидьки трошки бруторсять. Але я не думав що брутфорс може зжерти під 16 гб оперативки (половинку від 32, десь так на око).



Як ви геть нічим не обмежуєте брутфорс, то він необмежено сжерти і може, йому ж пофіг десять чпроб зробити чи десять мільйонів.

Ідіть гратись в whitelist. Бо інакше це ніяк не припинити. І парольчик рано чи пізно воно ж підбере якийсь.



дякую, зробимо блекліст для любителів брутфорсу.



Блекліст певніше за все вже не допоможе. Там тих ip мільйон.
Тільки вайтліст.


Роздрукувати   Нагадати!   Сповістити модератора   Відправити по E-mail
V.I.P ***
54 года (26 лет за рулем), Riga-Київ-Гурзуф
Сообщения: 14867
С нами с 24.07.2005

Re: расход оперативной памяти мускулом [Re: kvadjagan]
      5 декабря 2022 в 12:56 Гілками

+1 до порад VPN та whitelist.
Для початку можна зробити широкий на основі "українських" адрес + пододавати туди партнерів, що працюють з хмар.
Єдине одразу подумати як автоматизувати ведення цього листу, щоб його міг редагувати не тільки один єдиний адмін. Наприклад, надати можливість першій ланці підтримки додавати ip-адреси просто по дзвінку партнерів.

Змінено Daugava (12:57 05/12/2022)


Роздрукувати   Нагадати!   Сповістити модератора   Відправити по E-mail
Достоевский *
21 год за рулем, Vorlon Planet
Сообщения: 6789
С нами с 14.08.2011

Re: расход оперативной памяти мускулом [Re: kvadjagan]
      9 декабря 2022 в 12:40 Гілками

дякую всім за поради камради
На щастя любителі брутфорсу дуже слабенькі. Перевірили логи, там десь до 100 спроб брутфорсу за ніч. Поставили redis та закинули на нього навантаження з самої навантаженої БД. Поки все супер, графшк навантаження оперативи став прямим майже , без стрибків, поки пікове навантаження 34 відсотки на всю ОЗУ. Ще кілька днів помоніторимо, можливо редіс вирішення всіх проблем.


Роздрукувати   Нагадати!   Сповістити модератора   Відправити по E-mail
Достоевский **
102 года за рулем, Munchen, DE
Сообщения: 8218
С нами с 16.06.2005

Re: расход оперативной памяти мускулом [Re: kvadjagan]
      9 декабря 2022 в 12:53 Гілками

kvadjagan 09.12.2022 12:40 пишет:

дякую всім за поради камради
На щастя любителі брутфорсу дуже слабенькі. Перевірили логи, там десь до 100 спроб брутфорсу за ніч. Поставили redis та закинули на нього навантаження з самої навантаженої БД. Поки все супер, графшк навантаження оперативи став прямим майже , без стрибків, поки пікове навантаження 34 відсотки на всю ОЗУ. Ще кілька днів помоніторимо, можливо редіс вирішення всіх проблем.



Осторожно с ним, восстановление может быть проблемным. У него нет транзакций, а есть флеш интервал с оперативки на диск, по умолчанию секунд 10, кажется. Основная ниша его применения - повторяющееся чтение с возможностью замков, и космический по скорости sorted set, на порядки быстрее аналогичных структур того же Постгреса или Мускула, причем не подвержен недостаткам записи при огромных индексах.

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

В некоторых вещах, когда работа с БД - это обычные CRUD запросы через REST, есть смысл поставить над всем кеширующий nginx, решает проблему загрузки на всех уровнях. Нужно смотреть конкретную архетиктуру.

Змінено Tibor (13:02 09/12/2022)


Роздрукувати   Нагадати!   Сповістити модератора   Відправити по E-mail
Достоевский *
21 год за рулем, Vorlon Planet
Сообщения: 6789
С нами с 14.08.2011

Re: расход оперативной памяти мускулом [Re: kvadjagan]
      23 декабря 2022 в 13:18 Гілками

Спасибо всем за советы
По итогу плотно перебрали движек одного сайта, несколько недель переделок и тестов, все ок стало. Еще удалось избавится от его лютой БД (15 гб одна БД) и все ок. Теперь за счет бекапов isp поднимается во время бекапа расход оперативы ровно на 15 процентов и так удерживается каждый день. Если не делать бекап с помощью isp, а только консольными командами зиповать сайты и делать mysql дамп то прироста расхода оперативы не наблюдается, висит на уровне 30 процентов.


Роздрукувати   Нагадати!   Сповістити модератора   Відправити по E-mail
Autoua.netФорумІнформатика та побутова електроніка
Додаткова інформація
0 користувачів і 2 що побажали залишитися невідомими читають цей форум.

Модератор:  AlMat, Yorc, moderator 

Роздрукувати всю тему

Права
      Ви не можете створювати нові теми
      Ви не можете відповідати на повідомлення
      HTML дозволений
      UBBCode дозволений

Рейтинг:
Переглядів теми: 1208

Оціните цю тему

Перейти в

Правила конференції | Календар | FAQ | Карта розділу | Мобільна версія