Оптимизация MySQL

1 23
Romka_Kharkov
На сайте с 08.04.2009
Offline
485
#21
Melanxolik:

maxmem = key_buffer_size + (read_buffer_size + sort_buffer_size)*max_connections

и я бы max_connections=86 ибо 150 вы не вытягиваете и примерно.

Чертовски классная формула, но не понимаю чем она помогает \ мешает в данном случае, у него же и при 150 коннектах максимальная память в приделах нормы.... то что завышено число коннектов и как следствие выделяется избыточное количество памяти под буфера - это конечно плохо, но мало вероятно что это хоть как-то отражается на проблеме которая существует.

---------- Добавлено 07.05.2013 в 16:52 ----------

Melanxolik:
Тут не такая большая нагрузка и проблема явно в другом чтобы углублятся в прокси и всякие другие прослойки.

Вот вот, я о том же.... сильно мало там движения что бы создавать какие-то проблемы.... ))) у меня maxmem например при текущих настройках будет в районе 20-25 GB ... :))) У ТС-а вообще 2 гига памяти, что там ворочать можно то... тут что-то более интересное, я пока склонен полагать что или аппаратные приколы с сетевкой и таки бочинит TCP/IP ну или магия :D

Есть около 15.000 ipv4 !!! (http://onyx.net.ua/price.php#ipv4) Качественный хостинг с 2005 года - лучшее клиентам! (http://onyx.net.ua/)
Melanxolik
На сайте с 28.03.2010
Offline
80
#22

А что у него может быть:

[--] Data in MyISAM tables: 4G (Tables: 1957)

[--] Data in MEMORY tables: 762K (Tables: 6)

)

[!!] Joins performed without indexes: 137119

Индексы, не неслышал.

[--] Reads / Writes: 75% / 25%

[--] Total buffers: 234.0M global + 8.9M per thread (150 max threads)

Оптимизация на чтение, не неслышал.

До сети еще доберемся, пока это пусть в чувство приведет.

Благо советов дали огого.

table_open_cache = 1024

table_definition_cache=1024

увидил, лучше изменить на:

table_open_cache = 2048

table_definition_cache=2048

Romka_Kharkov:
Чертовски классная формула, но не понимаю чем она помогает \ мешает в данном случае,

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

D:

Romka_Kharkov
На сайте с 08.04.2009
Offline
485
#23
Melanxolik:

ну да, на сервере ведь 2Гб озу, значит 2Гб должен забрать под себя мускуль.
D:

А сколько вы считаете по сравнению с остальным окружением должен кушать SQL при условии что у нас вебсервер + фтп + mysql ? 500 MB ? Я отдаю в таких случаях по 70-80% памяти , собственно как и ТС, никакой проблемы в этом не вижу, другие демоны на недостачи памяти не жалуются...


[OK] Maximum possible memory usage: 1.5G (76% of installed RAM)
[Удален]
#24

Romka_Kharkov, ну здесь также нужно принимать во внимание что еще крутится на сервере. Ну и подсчитать кто сколько чего кушает, например так:

ps -e -orss=,args= | sort -b -k1,1n | pr -TW$COLUMNS | grep php | awk '{sum=sum+$1}; END {print sum/1024 " Mb"}'
Romka_Kharkov
На сайте с 08.04.2009
Offline
485
#25

WapGraf, там уже пару раз TOP мелькал ))) если бы что-то было весомое оно было бы "сверху" ))) так что полагаю там LAMP + FTP и ничего более , ну может панель какая-то еще>.. :) никаких томкетов и прочего ядерно жрущего не видать :D

StAlKeR-xXl
На сайте с 01.07.2011
Offline
45
#26
Melanxolik:
ну да, на сервере ведь 2Гб озу, значит 2Гб должен забрать под себя мускуль.
D:

Да, мускул забирает обычно много...

Вот, сам удивлен, как так удалось настроить свой мускул, что практически все параметры- идеальны.. сервер- просто летает..

Сам сервер:

Core-i3 x4

8Gb Ram

Юзаю для настройки tuning-primer.sh... еще ни разу не подводил..

и продолжение

попробуйте этот скриптик, ТС.. он реально поможет найти Вам слабые места настройки мускула..

не держите все [S]яйца[/S] сайты в одной [S]корзине[/S] поисковой системе....(c)
Melanxolik
На сайте с 28.03.2010
Offline
80
#27

cache_limit опустите до 4-х мегабайт.

temp_tables еще надо тюнить. не все вытащили.

max_connections тоже можно подрезать до 48ми.

а так красиво.

но дело в том что mysqltunner и tunning-premier друг друга дополняют, чтобы ими пользоватся надо понимать как работает система.

да, tunning-premier не всегда работает и не везде.

StAlKeR-xXl
На сайте с 01.07.2011
Offline
45
#28
Melanxolik:
но дело в том что mysqltunner и tunning-premier друг друга дополняют, чтобы ими пользоватся надо понимать как работает система

Моя - понимать! =)

Melanxolik:
cache_limit опустите до 4-х мегабайт.
temp_tables еще надо тюнить. не все вытащили.
max_connections тоже можно подрезать до 48ми.

да-да...

после тюнинга- спало кол-во max_connections...

подкрутил.. убрал.. через двое суток - контрольный тест опять.. что покажет..

Melanxolik:
temp_tables еще надо тюнить. не все вытащили

Лучше- не выйдет.... невозможно засунуть все в RAM, так как

Note! BLOB and TEXT columns are not allow in memory tables.
If you are using these columns raising these values might not impact your
ratio of on disk temp tables.

BLOB и TEXT - невозможно засунуть в память.. только диск=(

bugsmoran
На сайте с 18.02.2010
Offline
223
#29
hvosting:
bugsmoran:
hvosting:
Прокси тут не поможет, только добавит латентности.
Почему? Она как пул будет работать.
Не понял поста. Кто будет работать как пул?
Прокси?
Пачка mysql серверов?

Нет, не пачка MySQL-серверов, а пачка соединений к нему.

Дело в том, что каждый инстанс PHP, обращающийся к базе, пораждает новое подключение к MySQL. А это достаточно дорогая операция. А вот если перед ним будет стоять пул, и соединения будут браться оттуда (как бы в аренду), после чего релизиться обратно в пул, а не закрываться, то это существенно снизит нагрузку. Правда я так экспериментировал только на постгрессе (PGpool и PGbouncer это умеют) и видел прекрасные результаты. Но, думаю, у MySQL таже история.

H
На сайте с 12.05.2007
Offline
133
#30
bugsmoran:
новое подключение к MySQL. А это достаточно дорогая операция. А вот если перед ним будет стоять пул, и соединения будут браться оттуда (как бы в аренду), после чего релизиться обратно в пул, а не закрываться, то это существенно снизит нагрузку.

Соединение не особо дорогая операция.

Авторизация - дороже.

Порождение нового треда - еще дороже, и значительно.

Разумно - проверить достаточность тредкеша, дабы избежать убивания и повторного порождения

тредов. а также использовать mysql_pconnect(), но у него есть глубоко спрятанные грабли. В доке описаны.

Идея оставлять висеть в пуле соединения с непонятно какими правами, или выносить предварительную аутентификацию на прокси - мутная и не факт что позитивная.

hvosting.ua (http://hvosting.ua/)
1 23

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