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

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

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

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

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

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

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


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

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

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


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

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


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

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

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

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

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

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

wget mysqltuner.pl
perl mysqltuner.pl

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

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

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


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

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

Можно, и на чтение, и на запись. Просто надо указать достаточный объём для буферов данных.
...
Рейтинг: 0 / 0
25.09.2013, 17:22:49
    #38407581
ScareCrow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен совет по конфигурации MySQL (32Gb RAM)
авторМожно, и на чтение, и на запись.
для MyISam - нет.
...
Рейтинг: 0 / 0
25.09.2013, 18:44:46
    #38407665
netwind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен совет по конфигурации MySQL (32Gb RAM)
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
25.09.2013, 19:03:57
    #38407682
pachimuta
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен совет по конфигурации MySQL (32Gb RAM)
Разрабатывая текущий проект, задался вопросами:
1. почему же до сих пор нет решения для построения распределенной базы данных с некритической к постоянному соединению системой синхронизации/репликации данных
2. это ведь довольно просто должно быть написать движок, который бы считывал из таблиц данные и индексы, оперировал бы ими полностью в оперативке, а на винт записывались бы только изменения. Скорость базы возросла бы на порядок, я так понимаю?
...
Рейтинг: 0 / 0
25.09.2013, 19:19:37
    #38407694
netwind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен совет по конфигурации MySQL (32Gb RAM)
pachimutaРазрабатывая текущий проект, задался вопросами:
1. почему же до сих пор нет решения для построения распределенной базы данных с некритической к постоянному соединению системой синхронизации/репликации данных

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

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

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


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