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

123
Romka_Kharkov
На сайте с 08.04.2009
Offline
485
#11
sstyle:
спасибо почитаю. Удаленных нет, я выше отвечал.

Снимаю шляпу, недочитал, тогда еще вопрос, у вас конект по TCP или socket ?

Если TCP... попробуйте поменять на socket... хотя если у вас ВПС как говорится... проблемы могут быть и снаружи окружения, а ВПС уже тупит скажем так по своему в эти моменты..... У меня за несколько месяцев 0% обрывов ....... при этом у меня частично открыт SQL в мир.... (но это дедик)

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

vps`ки скорее всего openvz?

посмотрите cat /proc/user_beancounters

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

Андрей Нестеренко, MIRhosting Облачная платформа для DevOps (https://mirhosting.com/paas)
bugsmoran
На сайте с 18.02.2010
Offline
223
#13
Romka_Kharkov:
Снимаю шляпу, недочитал, тогда еще вопрос, у вас конект по TCP или socket ?
Если TCP... попробуйте поменять на socket... хотя если у вас ВПС как говорится... проблемы могут быть и снаружи окружения, а ВПС уже тупит скажем так по своему в эти моменты..... У меня за несколько месяцев 0% обрывов ....... при этом у меня частично открыт SQL в мир.... (но это дедик)

Это опасная игра. Да, Unix-сокеты быстрее TCP-сокетов (кстати не вот прям значительно), но они могут отлететь при нагрузке (например на них влияет ограничение на количество открытых дескрипторов).

К слову, у библиотеки php-mysql есть одна недокументированная особенность: если человек в своем сайте указывает сервер "localhost", то подключение пойдет по Unix-сокету, а если указывает "127.0.0.1" - то по TCP :) Вот такой вот неожиданный поворот событий! Получается, что производительность зависит от клиентов хостинга даже.

Romka_Kharkov
На сайте с 08.04.2009
Offline
485
#14
bugsmoran:
Это опасная игра. Да, Unix-сокеты быстрее TCP-сокетов (кстати не вот прям значительно), но они могут отлететь при нагрузке (например на них влияет ограничение на количество открытых дескрипторов).

Я предлагаю попробовать, так как не ясно какие могут быть оборванные коннекты при работе с локальной тачкой ?:)

bugsmoran:

К слову, у библиотеки php-mysql есть одна недокументированная особенность: если человек в своем сайте указывает сервер "localhost", то подключение пойдет по Unix-сокету, а если указывает "127.0.0.1" - то по TCP :) Вот такой вот неожиданный поворот событий! Получается, что производительность зависит от клиентов хостинга даже.

Ну особенность известная..... в соответствующих кругах... :D :D

bugsmoran
На сайте с 18.02.2010
Offline
223
#15
Romka_Kharkov:
Я предлагаю попробовать, так как не ясно какие могут быть оборванные коннекты при работе с локальной тачкой ?:)

Могу предположить, что работа скрипта завершается по max_execution_time и открытый им коннект остается оборванным. Наверно тут поможет какой-нибудь MySQL-прокси.

Вообще интересно увидеть:

show variables like '%thread%';
show status like '%thread%';
sstyle:

вот проблема как раз в оборванных соединениях. Случайно попал на ошибку пока по сайту ползал Can`t creatre new thread (errno 11). Удаленных нет

Так в оборванных или в несозданных?

А что в это время в логах MySQL? Покажите вообще вывод:

show variables like '%log%';
H
На сайте с 12.05.2007
Offline
133
#16

Прокси тут не поможет, только добавит латентности.

hvosting.ua (http://hvosting.ua/)
bugsmoran
На сайте с 18.02.2010
Offline
223
#17
hvosting:
Прокси тут не поможет, только добавит латентности.

Почему? Она как пул будет работать.

Melanxolik
На сайте с 28.03.2010
Offline
80
#18

sort_buffer_size = 2M

read_buffer_size = 1M

read_rnd_buffer_size = 1M

query_cache_size = 128M

query_cache_type=1

query_cache_limit=2M

log-slow-queries = /var/log/mysql/slow-query.log

log-queries-not-using-indexes

table_open_cache = 1024

table_definition_cache=1024

tmp_table_size=512M

myisam_sort_buffer_size=8M

mkdir /var/log/mysql

chown mysql:mysql /var/log/mysql

но тут надо смотреть что выдает max mem, так как:

maxmem = key_buffer_size + (read_buffer_size + sort_buffer_size)*max_connections

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

ну а дальше смотреть что у вас в логах и с индексами, explain вам в руки.

H
На сайте с 12.05.2007
Offline
133
#19
bugsmoran:
Почему? Она как пул будет работать.

Не понял поста. Кто будет работать как пул?

Прокси?

Пачка mysql серверов?

Melanxolik
На сайте с 28.03.2010
Offline
80
#20

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

123

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