powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Нужен совет по конфигурации MySQL (32Gb RAM)
25 сообщений из 57, страница 1 из 3
Нужен совет по конфигурации MySQL (32Gb RAM)
    #38407018
pachimuta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Коллеги,

подскажите плз, как грамотно сконфигурировать MySQL где сервер имеет 32Gb RAM

Имеется веб-сервер на базе форума + встроенная в него система со своей базой.
В моменты максимальных нагрузок (более 400 одновременных пользователей) сервер затыкается в основном по процессорному времени. В памяти занято порядка 2-3GB, хотя вся база целиком занимает 3GB.

Вопрос, можно ли как-то перенести нагрузку с процессора и дисковой подсистемы на память? Кэши, мемкеши - все это стоит.
Можно ли организовать основную работу базы в памяти, раз она вся туда помещается, а на диск делать только операции записи?

PS. Настроена репликация на резервный сервер, но это в качестве запасного аэродрома, т.к. время простоя критично.
...
Рейтинг: 0 / 0
Нужен совет по конфигурации MySQL (32Gb RAM)
    #38407109
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какой движок таблиц используется?
Покажите текущий конфиг в спойлере.
...
Рейтинг: 0 / 0
Нужен совет по конфигурации MySQL (32Gb RAM)
    #38407126
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
из опыта работы с другими форумами, я могу предположить, что 400 юзеров - очень мало чтобы довести до 100% загрузки "север на 32гб", в предположении что там еще и все остальные комплектующие соответствующие. Скорее всего отдельные неудачные запросы все портят. Вам нужен анализ вашей конкретной ситуации и в первую очередь производительности запросов.

pachimuta грамотно сконфигурировать MySQL где сервер имеет 32Gb RAM
Да никак. "Грамотность" в IT - оправдание для шаблонности мышления. Все, что удовлетворяет вашим запросам - грамотно.

pachimutaМожно ли организовать основную работу базы в памяти, раз она вся туда помещается, а на диск делать только операции записи?
А то. Но это типа "неграмотно", ведь данные пропадают при перезагрузке. С другой стороны, шаблоны экономят время и предостерегают от совсем уж неправильных решений.
...
Рейтинг: 0 / 0
Нужен совет по конфигурации MySQL (32Gb RAM)
    #38407131
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netwind400 юзеров - очень мало чтобы довести до 100% загрузки "север на 32гб"Зависит от терминологии и неявно подразумевающегося смысла (который у всех разный).
Если это 400 юзеров, которые в браузере смотрят на страничку сайта - это, действительно, не так много.
...
Рейтинг: 0 / 0
Нужен совет по конфигурации MySQL (32Gb RAM)
    #38407151
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftnetwind400 юзеров - очень мало чтобы довести до 100% загрузки "север на 32гб"Зависит от терминологии и неявно подразумевающегося смысла (который у всех разный).
Если это 400 юзеров, которые в браузере смотрят на страничку сайта - это, действительно, не так много.
экслуатанты коробочных форумов понимают это почти что однозначно. Там существует таблица сессий, записи из которой удаляются по истечении 15 минут неактивности.
...
Рейтинг: 0 / 0
Нужен совет по конфигурации MySQL (32Gb RAM)
    #38407169
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pachimuta
подскажите плз, как грамотно сконфигурировать MySQL где сервер имеет 32Gb RAM


Ну, во-первых, СУБД должна стоять на отдельной машине. Кроме неё на этой машине не должно быть ничего работающего, кроме самых необходимых служб операционной системы.

Далее, всю память кроме скажем 2 гигов отводишь под MySQL, как это сделать -- написано в документации по конфигурации конкретного Engine. Лучше использовать только один Engine и ему отдать всю память. Ну, на самом деле не всю конечно, там будет процентов 80 от оставшихся 30 гигов.

pachimuta
Вопрос, можно ли как-то перенести нагрузку с процессора и дисковой подсистемы на память? Кэши, мемкеши - все это стоит.


Удаляй. Они ни на фиг не нужны. На этой машине. На других -- пожалуйста.

pachimutaМожно ли организовать основную работу базы в памяти, раз она вся туда помещается, а на диск делать только операции записи?


Ну, памяти под буфера отдай больше. Примерно 80 % от 30 гигов. Подробности в доках.
...
Рейтинг: 0 / 0
Нужен совет по конфигурации MySQL (32Gb RAM)
    #38407173
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
из опыта работы с другими форумами, я могу предположить, что 400 юзеров - очень мало чтобы довести до 100% загрузки "север на 32гб",

Так это смотря какие пользователи и какая нагрузка.

До 100% загрузки CPU и один запрос может довести. И это кстати хорошо.
...
Рейтинг: 0 / 0
Нужен совет по конфигурации MySQL (32Gb RAM)
    #38407179
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivДо 100% загрузки CPU и один запрос может довести. И это кстати хорошо.
Кстати, нет. Mysql не умеет обрабатывать один запрос на нескольких ядрах. Наверняка многоядерный процессор имеется.
...
Рейтинг: 0 / 0
Нужен совет по конфигурации MySQL (32Gb RAM)
    #38407198
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netwindMasterZivДо 100% загрузки CPU и один запрос может довести. И это кстати хорошо.
Кстати, нет. Mysql не умеет обрабатывать один запрос на нескольких ядрах. Наверняка многоядерный процессор имеется.

Я имел в виду однопроцессорный комп, конечно.
...
Рейтинг: 0 / 0
Нужен совет по конфигурации MySQL (32Gb RAM)
    #38407220
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivНу, памяти под буфера отдай больше. Примерно 80 % от 30 гигов.На для зачем????
У него вся база 3 ГБ.
...
Рейтинг: 0 / 0
Нужен совет по конфигурации MySQL (32Gb RAM)
    #38407394
pachimuta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Конфиг выложу сегодня вечером, доберусь когда до него.

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

И все же самый главный принципиальный вопрос: можно ли вытащить всю базу в память (на чтение), и перестраивать в памяти только те фрагменты, на которые прошла запись? Т.е., чтобы важные записываемые данные не терялись, а данные для чтения всегда держались в памяти, соответственно оттуда же строились всевозможные запросы.
...
Рейтинг: 0 / 0
Нужен совет по конфигурации MySQL (32Gb RAM)
    #38407396
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pachimuta,

wget mysqltuner.pl
perl mysqltuner.pl

https://github.com/major/MySQLTuner-perl

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

Надо смотерть также slow query log и также
исолировать медленые страницы и
процессы ма медленых страницах --
учти что страница может быть медленая и
не из-за базы.
...
Рейтинг: 0 / 0
Нужен совет по конфигурации MySQL (32Gb RAM)
    #38407402
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pachimutaИ все же самый главный принципиальный вопрос: можно ли вытащить всю базу в память (на чтение), и перестраивать в памяти только те фрагменты, на которые прошла запись? Т.е., чтобы важные записываемые данные не терялись, а данные для чтения всегда держались в памяти, соответственно оттуда же строились всевозможные запросы.Ответить будет можно, когда ответите на самый первый вопрос.
...
Рейтинг: 0 / 0
Нужен совет по конфигурации MySQL (32Gb RAM)
    #38407411
pachimuta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я смотрю по htop на сервере. Там затыки именно на уровне процессов mysql. На скорость страниц я не жалуюсь.
Все, что было больше 2сек в запросах я вроде бы прооптимизировал.


Самое интересное конечно вечерком выложу.
...
Рейтинг: 0 / 0
Нужен совет по конфигурации MySQL (32Gb RAM)
    #38407419
pachimuta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Движок myISAM
...
Рейтинг: 0 / 0
Нужен совет по конфигурации MySQL (32Gb RAM)
    #38407483
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pachimutaДвижок myISAMТогда ответ частично отрицательный. MyISAM не имеет общего кэша таблиц, но имеет кэш индексов. Потенциально, файлы таблиц могут кэшироваться на уровне кэша файловой системы, но тут я не уверен.
...
Рейтинг: 0 / 0
Нужен совет по конфигурации MySQL (32Gb RAM)
    #38407528
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
таки кто нить запросы промониторить предложит?
...
Рейтинг: 0 / 0
Нужен совет по конфигурации MySQL (32Gb RAM)
    #38407558
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftMasterZivНу, памяти под буфера отдай больше. Примерно 80 % от 30 гигов.На для зачем????
У него вся база 3 ГБ.

Ну, потом-то он будет больше наверное... БД зачем заводят? Обычно, чтобы данные туда заполнять.
...
Рейтинг: 0 / 0
Нужен совет по конфигурации MySQL (32Gb RAM)
    #38407561
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pachimuta
И все же самый главный принципиальный вопрос: можно ли вытащить всю базу в память

Можно, и на чтение, и на запись. Просто надо указать достаточный объём для буферов данных.
...
Рейтинг: 0 / 0
Нужен совет по конфигурации MySQL (32Gb RAM)
    #38407581
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторМожно, и на чтение, и на запись.
для MyISam - нет.
...
Рейтинг: 0 / 0
Нужен совет по конфигурации MySQL (32Gb RAM)
    #38407665
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftpachimutaДвижок myISAMТогда ответ частично отрицательный. MyISAM не имеет общего кэша таблиц, но имеет кэш индексов. Потенциально, файлы таблиц могут кэшироваться на уровне кэша файловой системы, но тут я не уверен.
Совершенно точно данные myisam кешируются на уровне ОС.
Кроме того, при использовании myisam_use_mmap=1 еще и экономятся системные вызовы на чтение файлов. Хотя зачастую эта настройка дает лишь небольшой прирост.
Плохо то, что при совместной работе mysql и веба, какие-то проблемы на вебе или бекапы этот самый кеш "смывают". С innodb такого не происходит. И даже несмотря на все это, myisam намного проще и зачастую производительность в вебе все равно лучше innodb.

Теперь о картинке.
htop - отстой. Из всех программ вы выбрали самую бесполезную, но цветастую. По картинке нельзя оценить ни показатель iowait, ни долю user cpu в нагрузке на процессор.
Используйте обычный top, два раза выше упомянутую программу pt-summary (она снимает то же самое за 10 секунд) или atop, который еще и логи пишет весьма интересные и позволяющие "промотать" картинку назад во времени.
Тем не менее, можно предположить, что самым важным для вас должен стать анализ медленных запросов.
Если нет длиннее 2 секунд, то уменьшите таймаут и снова проанализируйте.


Еще видно, что mysql весьма мало памяти использует. Это значит что можно увеличить key_buffer_size. Попробуйте также советы от программы mysqltuner, но сильно не увлекайтесь. Используйте ее только для оценки key_buffer_size.
...
Рейтинг: 0 / 0
Нужен совет по конфигурации MySQL (32Gb RAM)
    #38407682
pachimuta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Разрабатывая текущий проект, задался вопросами:
1. почему же до сих пор нет решения для построения распределенной базы данных с некритической к постоянному соединению системой синхронизации/репликации данных
2. это ведь довольно просто должно быть написать движок, который бы считывал из таблиц данные и индексы, оперировал бы ими полностью в оперативке, а на винт записывались бы только изменения. Скорость базы возросла бы на порядок, я так понимаю?
...
Рейтинг: 0 / 0
Нужен совет по конфигурации MySQL (32Gb RAM)
    #38407694
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pachimutaРазрабатывая текущий проект, задался вопросами:
1. почему же до сих пор нет решения для построения распределенной базы данных с некритической к постоянному соединению системой синхронизации/репликации данных

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

2. это ведь довольно просто должно быть написать движок, который бы считывал из таблиц данные и индексы, оперировал бы ими полностью в оперативке, а на винт записывались бы только изменения. Скорость базы возросла бы на порядок, я так понимаю?
Вы не поверите, но во всех субд при наличии кеширования файлов на диск пишутся только изменения.
...
Рейтинг: 0 / 0
Нужен совет по конфигурации MySQL (32Gb RAM)
    #38407704
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторэто ведь довольно просто должно быть написать движок, который бы считывал из таблиц данные и индексы, оперировал бы ими полностью в оперативке, а на винт записывались бы только изменения.
InnoDВ?
...
Рейтинг: 0 / 0
Нужен совет по конфигурации MySQL (32Gb RAM)
    #38407744
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ScareCrowавторМожно, и на чтение, и на запись.
для MyISam - нет.

My isam я вообще не обсуждаю, г. это.
...
Рейтинг: 0 / 0
25 сообщений из 57, страница 1 из 3
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Нужен совет по конфигурации MySQL (32Gb RAM)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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