Помогите настроить mysql

12
TF-Studio
На сайте с 17.08.2010
Offline
334
995

Имеется база.

В день примерно 12кк инсертов 3-5кк апдейтов.

Сложные выборки типо:


SELECT count( field1) , id
FROM `table`
WHERE `id` = $id
GROUP BY field1

выбирается из 5-6 миллионов записей,

Extra:

Using where; Using temporary; Using filesort

Идет запись на диск, хочется в память все.

Сервер win

памяти 8г, 2-3 можно отдать мускулю.

Текущий, дефолтный конфиг:


key_buffer = 16M
max_allowed_packet = 1M
table_cache = 1024
sort_buffer_size = 4M
record_buffer = 2M
net_buffer_length = 8K
read_buffer_size = 2M
read_rnd_buffer_size = 8M
myisam_sort_buffer_size = 64M
query_cache_size = 32M
query_cache_limit = 2M

tmp_table_size=128M

max_connections = 450 #(надо увеличить до 1-2к)
enable-named-pipe
skip-federated

Таблицы в MyISAM

Есть много запущенных процессов, которые постоянно что-то пишут.

В среднем запросов в секунду 210

Всё ещё лучший способ заработка для белых сайтов: GoGetLinks (https://www.gogetlinks.net/?inv=fahbn8).
N
На сайте с 06.05.2007
Offline
419
#1
TF-Studio:
Идет запись на диск, хочется в память все.

Ну так и сделай для каталога /tmp файловую систему tmpfs.

По крайней мере это точно поможет, при условии что верно оценен характер нагрузки.

>key_buffer = 16M

почти наверняка это маловато.

Кнопка вызова админа ()
TF-Studio
На сайте с 17.08.2010
Offline
334
#2

Все параметры малы.

Я совсем не знаю как правильно настраивать.

Пробовал увеличение всех параметров - результат не айс был.

Просто сервер win

Проект реальный - уже сейчас работает, дальше больше будет нагрузка.

zexis
На сайте с 09.08.2005
Offline
388
#3

Структуру таблиц, индексов, запросов оптимизировали?

Уверены, что индексы используются везде, где необходимо?

TF-Studio
На сайте с 17.08.2010
Offline
334
#4

Это да.

Просто, как мне кажется, такие настройки не оптимальны для моего железа.

Особого дискомфорта нету.

нагрузки тоже, просто хочется сделать лучше.

M
На сайте с 24.10.2011
Offline
173
#5

а как же вариант "лучшее - враг хорошего"?

DV
На сайте с 01.05.2010
Offline
644
#6

Если не критично к потерям за короткие промежутки времени, можно вообще всю базу на виртуальный диск скинуть, будет летать. Только озадачиться бэкапами. Вариант проверенный, именно под Win, работало изумительно. Диск вообще не дёргается, а процессор постоянно нагружен.

VDS хостинг ( http://clck.ru/0u97l ) Нет нерешаемых задач ( https://searchengines.guru/ru/forum/806725 ) | Перенос сайтов на Drupal 7 с любых CMS. ( https://searchengines.guru/ru/forum/531842/page6#comment_10504844 )
Andreyka
На сайте с 19.02.2005
Offline
822
#7

А может не извращаться с виртуальным диском а просто использовать тип таблицы который пишет в память? ;)

Не стоит плодить сущности без необходимости
N
На сайте с 06.05.2007
Offline
419
#8
Andreyka:
А может не извращаться с виртуальным диском а просто использовать тип таблицы который пишет в память?

но ведь для этого нужно ПРОГРАММИРОВАТЬ.

Будь ТС в состоянии это делать вопрос бы вообще не стоял.

L1
На сайте с 11.05.2012
Offline
0
#9

как-то маловато 2-3гб для базы, с учётом числа записей.

было бы не плохо для начала выявить самые тяжёлые (slow query) запросы, дальще включить профилировщик и смотреть на каком этапе долго выполняется запрос, потом оптимизировать.

в любом случае памяти маловато, либо винты ссд нужны.

TF-Studio
На сайте с 17.08.2010
Offline
334
#10

Проблемы особой нету.

Все задачи выполняются очень быстро.

Просто этот конфиг - он дефолтный, и по-моему следует что-то изменить в нём, раз ресурсы позволяют.

Приведенный выше "тяжелый" запрос выполняется меньше секунды.

Это просто пример был.

Подобных запросов много, но нагрузки особо нету.

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

12

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