Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Оптимальные настройки MySQL / 11 сообщений из 11, страница 1 из 1
13.02.2014, 12:25:53
    #38559639
stavelot
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимальные настройки MySQL
Доброго времени суток!

Есть вопрос касательно настроек MySQL Server. Планируется, что на сервере будет крутиться одна база в которой будет около 800 таблиц с примерно 40 ГБ данных (две больших таблицы одна 25 Гб, вторая 5 гБ, в остальных таблицах примерно по 400-600 МБ данных). С базой данных, примерно, в равной степени будут выполняться операции Insert, Delete и Update, немного в большей степени Select.

На данный момент выбран тип хранения InnoDB(и каждая таблица в отдельном файле), но восстановления из дампа занимает около 20 часов, что не есть хорошо. Львиную долю конечно тянут индексы, но и данные тоже медленно льются. Да и после загрузки дампа производительность не ахти.

Может у кого есть какие советы, как ? Файл my.ini прикрепил. Пытался увеличивать innodb_buffer_pool_size до 16 Гб, но это не особо влияло на результат.
...
Рейтинг: 0 / 0
13.02.2014, 12:40:27
    #38559656
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимальные настройки MySQL
stavelot,

а сколько оперативки вообще доступно?
...
Рейтинг: 0 / 0
13.02.2014, 12:46:07
    #38559664
stavelot
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимальные настройки MySQL
miksoftstavelot,

а сколько оперативки вообще доступно?

16 ГБ
...
Рейтинг: 0 / 0
13.02.2014, 12:51:45
    #38559681
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимальные настройки MySQL
stavelotmiksoftstavelot,

а сколько оперативки вообще доступно?16 ГБТогда даже не пытайтесь устанавливать innodb_buffer_pool_size в 16 ГБ. Либо начнется своп, что убьет всю производительность, либо MySQL вообще упадет.
...
Рейтинг: 0 / 0
13.02.2014, 12:54:09
    #38559685
stavelot
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимальные настройки MySQL
miksoftstavelotпропущено...
16 ГБТогда даже не пытайтесь устанавливать innodb_buffer_pool_size в 16 ГБ. Либо начнется своп, что убьет всю производительность, либо MySQL вообще упадет.

Ну как бы слукавил немного, доступно 16, а выставлял innodb_buffer_pool_size в 13
...
Рейтинг: 0 / 0
13.02.2014, 13:26:51
    #38559745
netwind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимальные настройки MySQL
stavelotМожет у кого есть какие советы, как ?
перестать считать, что mysql изначально "расстроен" и его можно какими-то настройками сделать быстрее.
И задуматься как сделать работу сервера быстрее с позиции приложения или железа.
...
Рейтинг: 0 / 0
13.02.2014, 13:42:50
    #38559782
stavelot
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимальные настройки MySQL
netwindstavelotМожет у кого есть какие советы, как ?
перестать считать, что mysql изначально "расстроен" и его можно какими-то настройками сделать быстрее.
И задуматься как сделать работу сервера быстрее с позиции приложения или железа.

отличный совет! Спасибо.
Интересен был лишь один момент, возможно для каждой базы можно сделать свою конфигурацию, которая даст результат по производительности, но видно не в моем случае. Возможно, стоит посмотреть в сторону других баз, таких как PostgreSQL.
...
Рейтинг: 0 / 0
13.02.2014, 15:47:38
    #38559995
netwind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимальные настройки MySQL
stavelotnetwindпропущено...

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

отличный совет! Спасибо.
Интересен был лишь один момент, возможно для каждой базы можно сделать свою конфигурацию, которая даст результат по производительности, но видно не в моем случае. Возможно, стоит посмотреть в сторону других баз, таких как PostgreSQL.
Вот еще дословная цитата из книжки об оптимизации mysql 10423639 . То же самое что я имел ввиду, но другими словами.

Чтобы обработать ваши запросы нужно считать данные.
Ну будут они в другом формате другой субд записаны, но вы то подход к поиску решения не поменяете.
...
Рейтинг: 0 / 0
13.02.2014, 16:19:24
    #38560056
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимальные настройки MySQL
Можно преконовской тулзой воспользоваться https://tools.percona.com/wizard
...
Рейтинг: 0 / 0
13.02.2014, 16:21:23
    #38560060
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимальные настройки MySQL
Еще, как я понял, сам мускуль количество innodb Буферов в пуле по дефолту ставит 1 (в 5.5 версии смотрел), лучше увеличить.
...
Рейтинг: 0 / 0
13.02.2014, 16:38:55
    #38560073
Aleksandr Kuzminsky
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимальные настройки MySQL
stavelotНа данный момент выбран тип хранения InnoDB(и каждая таблица в отдельном файле), но восстановления из дампа занимает около 20 часов, что не есть хорошо. Львиную долю конечно тянут индексы, но и данные тоже медленно льются. Да и после загрузки дампа производительность не ахти.



Если база большая, то восстанавливаться из дампа всегда будет долго. Можно кое-что покрутить(нампример, делать дамп не SQL, а TSV - опция -T), но принципиально ситуация не поменяется.

На Unix-ах я бы посоветовал xtrabackup или mylvmbackup, а на Windows знаю только MySQL Enterprise Backup, но он за деньги.

По настройкам.
innodb_buffer_pool_size=10G # 6 оставим операционке, тем более это windows
innodb_log_file_size=256M # Это на глаз, надо смотреть сколько на самом деле пишется в лог. Смотрите на сколько за час увеличится Innodb_os_log_written при максимально нагрузке - это и будет оптимальный размер лога. То есть, если за час в лог записалось 1000MB, то innodb_log_file_size должен быть 500М (потому что лог - это два файла ib_logfile0 & ib_logfile1).

Остальное не трогайте, если не знаете зачем Вам это нужно. То есть, буквально my.cnf будет таким:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
[client]
default-character-set=utf8

[mysqld]
character-set-server=utf8
datadir="C:/ProgramData/MySQL/MySQL Server 5.7/data\"
innodb_buffer_pool_size=10G
innodb_log_file_size=256M
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Оптимальные настройки MySQL / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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