Выбор сервера для mysql под нагрузкой

baas
На сайте с 17.09.2012
Offline
143
697

Добрый вечер.

Посоветуйте, что лучше для сервера баз mysql количество ядер/потоков или тактовая частота?

Сервер баз мускула нагружен, сейчас на сервере с( Intel Xeon E3-1270v6) 4 ядра 8 потоков, нагрузка 100% процессора при обновлении товара, проходит не быстро пару часов.

Обновления товара 3-4 раза в неделю, в штатном режиме сервер использует процессор на 2-3ядра.

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

В базе очень много запросов select/insert.

База примерно 20-25гигов весом.



Настройка BSD систем. (https://www.fryaha.ru) Знание сила, незнание Рабочая сила!
Евгений Крупченко
На сайте с 27.09.2003
Offline
179
#1

Если на уровне скриптов/запросов вопрос не решить, то ничего другого не остается кроме как дать ему делать что оно хочет так долго как хочет. Но постараться ограничить этот процесс обновления до пары ядер к примеру.

Как именно - надо смотреть предметно что конкретно там происходит. Если параллельно много скриптов долбят mysql - логично ограничить их количество. Сделать чтоб весь этот процесс проходил более однопоточно и оставались ненагруженные ядра для работы всего остального. Чисто железом, не меняя ничего программно, вопрос не решить - все равно будет все та же 100% загрузка, но просто другое количество времени. Можно лишь минимизировать ущерб (тормоза в других задачах помимо обновления) ограничив количество этих тяжелых потоков.

Конечно можно за ту же цену взять больше ядер/меньше частоту... и пусть даже пару часов обновления превратятся в час, но все остальное время ведь обычные запросы будут проходить медленней.

Есть процессоры 8-10-ядерные аналогичной 4+ггц частоты, но очевидно стоить это будет заметно дороже... и опять же, 2ч станут 1ч, но все равно моменты тормозов со 100% загрузкой никуда не уйдут.

S
На сайте с 23.05.2004
Offline
299
#2
По не проверенным данным народ хвалит Ryzen 3700x в работе с бд.  Мол перешли с зеона и все летает.   Сам не проверял, что слышал, о том и пою :)

Это просто мой личный сайт (https://phpdevs.com/) в моей подписи.
M
На сайте с 19.02.2008
Offline
103
#3
my.cnf показали бы для начала и ram сколько ? Может и переезжать не нужно.
Евгений Крупченко
На сайте с 27.09.2003
Offline
179
#4

Ну конечно :) райзен какой-то конкретный против зеона одного общего в целом.

Вопрос не в том. Если задача тяжелая многопоточная, то она на 100% загрузит абсолютно любой процессор. И в плане "летает" - все равно задача на несколько часов не станет за секунду выполняться ни на каком процессоре.

Тут только ускорять/оптимизировать саму задачу и/или ограничивать ее до количества ядер чуть меньшего чем все чтоб не ложить сервер наглухо.

baas
На сайте с 17.09.2012
Offline
143
#5
Евгений Крупченко #:

Ну конечно :) райзен какой-то конкретный против зеона одного общего в целом.

Вопрос не в том. Если задача тяжелая многопоточная, то она на 100% загрузит абсолютно любой процессор. И в плане "летает" - все равно задача на несколько часов не станет за секунду выполняться ни на каком процессоре.

Тут только ускорять/оптимизировать саму задачу и/или ограничивать ее до количества ядер чуть меньшего чем все чтоб не ложить сервер наглухо.

my.cnf показать смысла нет, там все в порядке.

Оперативки 32 гига сейчас, пул innidb выделен 21гиг.

Два сервера под файлы и базы сейчас, файлы и базы лежат на дисках nvme  1TB Intel DC P4510, под сами системы диск ssd  обычный.

Нагрузка базы только при обновлении товара, товара очень много.

Вижу ОЧЕНЬ много запросов join без индексов, вот они и создают нагрузку, прогер сказал что их оптимизировать не получится.

Пока есть план по смене сервера.

Думаю с начало взять сервер с камнем Intel® Xeon® E-2288G.

Если эффект будет мал, то поменяем сервер на двух процессорник 2x Xeon Silver 4210 его я думаю будет достаточно.

skapunker
На сайте с 15.01.2014
Offline
190
#6
В облако отправь базу данных, на Яндекс облако, или какой нибудь амазон RDS
Мои сайты ищут дно. Я больше не СЕО гуру... Я ухожу в отставку. Однако, я по прежнему царь вебмастеринга.
baas
На сайте с 17.09.2012
Offline
143
#7
skapunker #:
Яндекс облако

1 Данные должны быть на территории России.

2 Для наших нужд, дешевле взять сервер в аренду, чем использовать облако!

M
На сайте с 19.02.2008
Offline
103
#8
baas #:

my.cnf показать смысла нет, там все в порядке.

Оперативки 32 гига сейчас, пул innidb выделен 21гиг.

Два сервера под файлы и базы сейчас, файлы и базы лежат на дисках nvme  1TB Intel DC P4510, под сами системы диск ssd  обычный.

Нагрузка базы только при обновлении товара, товара очень много.

Вижу ОЧЕНЬ много запросов join без индексов, вот они и создают нагрузку, прогер сказал что их оптимизировать не получится.

Пока есть план по смене сервера.

Думаю с начало взять сервер с камнем Intel® Xeon® E-2288G.

Если эффект будет мал, то поменяем сервер на двух процессорник 2x Xeon Silver 4210 его я думаю будет достаточно.

Берите тогда новый сервак, да подороже,  тему в корзину

D
На сайте с 28.06.2008
Online
1063
#9
ПОчти уверен что оптимизация запросов выйдет кратно дешевле нового сервера даже на интервале одного года
Scumtron
На сайте с 14.01.2008
Offline
158
#10
mefish #:

Берите тогда новый сервак, да подороже,  тему в корзину

Так ТС и спрашивает совета, какой лучше брать " количество ядер/потоков или тактовая частота?".

baas :
Посоветуйте, что лучше для сервера баз mysql количество ядер/потоков или тактовая частота?

Возьмите AMD EPYC 7402P или около того, памяти докиньте. Но, как выше заметили, проблем это особо не решит. Тут либо кардинально мощный сервер за 100500 руб в день, либо оптимизация запросов.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий