SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 17.02.2010 16:03:27

AlexsWulf
Участник
Зарегистрирован: 28.01.2010
Сообщений: 22

Нагрузка на сервер при смене localhost на IP

Доброго времени суток.
Ситуация такова:
есть сервер где работает связка
nginx - php - memcache - mysql
сервер довольно нагруженный в среднем 25 миллионов запросов в сутки.
В часы пик показывает вот такую нагрузку.
142% php-cgi
50% mysqld
но как только в конфиге php я меняю адрес сервера с lacalhost на IP адрес этого же сервера за 4-5 минут работы нагрузка возрастает до
201% php-cgi
187% mysqld

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

Если не хватает каких либо данных о сервере или системе я допишу.
Заранее благодарю за ответ.

Неактивен

 

#2 17.02.2010 16:15:29

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Нагрузка на сервер при смене localhost на IP

unix socket работает быстрее, чем tcp/ip.

Смотрите в сторону увеличения количества машинок или какого-то дополнительного
кэширования. Возможно, можно прикрутить на морду какое-то внешнее кэширование
(например, varnish очень хорошо себя ведет на таких системах). Но, разумеется, для
форума, например, такое не подойдет.

Неактивен

 

#3 17.02.2010 16:18:25

AlexsWulf
Участник
Зарегистрирован: 28.01.2010
Сообщений: 22

Re: Нагрузка на сервер при смене localhost на IP

Да сокет работает быстрей
Приобрели второй сервер
Разнесли php на два сервера
Именно для этого и меняем в настройках localhost на IP адрес
Чтоб второй сервер мог достучаться до базы.

И появляется такая проблема даже если запрос идет с php на том же сервере что и mysql
В результате сервера два а толку никакого.

Неактивен

 

#4 17.02.2010 16:33:48

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Нагрузка на сервер при смене localhost на IP

Не понимаю. Оставьте на сервере с базой подключение через localhost,
а на втором сервере сделайте tcp/ip. Тогда нагрузка с php частично
уедет на вторую машинку.

Неактивен

 

#5 17.02.2010 18:04:57

AlexsWulf
Участник
Зарегистрирован: 28.01.2010
Сообщений: 22

Re: Нагрузка на сервер при смене localhost на IP

было
webserver <> php <> mysql over socket
+xcache + memcached

стало
два вебсервера. на серверах
1. Веб + пхп + mysql
2. пхп
напервом коннект к mysql сокеты
на втром соотв через tcp

при этом пока нет второго сервака все хорошо
как только кто то начинает коннектится к mysql через tcp - количсетво выполняемых запросов падает в 4 раза (при том что нагрузка на машину с mysql падает сразу колосально)
т.е. пока запросов немного - все хорошо, как только переваливает за определенное количество - плохо

Неактивен

 

#6 17.02.2010 18:18:31

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Нагрузка на сервер при смене localhost на IP

Хм. А как балансируете? И как считаете количество запросов? Может, дело
и не в MySQL вовсе, а Вы просто теряете часть запросов (например, на балан-
сировке), и общий RPS тоже падает?

Эм. Перечитал конфигурацию. На втором сервере php написан без вебсервера —
это опечатка или я не знаю какого-то хитрого способа обработки?

Неактивен

 

#7 17.02.2010 18:25:25

AlexsWulf
Участник
Зарегистрирован: 28.01.2010
Сообщений: 22

Re: Нагрузка на сервер при смене localhost на IP

nginx - ip_hash
балансируем запросы к php fcgi бекенду
проблема в том что когда мы поняли что, что то не так то первое в чем засомневались именно в балансировке
и после ряда тестов поняли что "умирание" зависит от способа хождения к MYSQL и стали проверять сценарий просто хождения к mysql через TCP на ЛОКАЛЬНОЙ машине
т.о. мы видим что у нас на nginx 2500 запросов в секунду пока к mysql ходим через сокеты
и максимально 500 когда к mysql через TCP

все лимиты конечно сильно увеличины (somaxconn и прочее)

Неактивен

 

#8 17.02.2010 18:43:32

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Нагрузка на сервер при смене localhost на IP

Вопрос по сети:
А ко второй машинке в fastcgi ходите по TCP/IP? Там все соединения добегают?

Вопросы по базе:
Включены ли persistent connections? Выключен ли обратный резолв? Стоят ли
гранты по IP или по именам?

Неактивен

 

#9 17.02.2010 20:25:03

AlexsWulf
Участник
Зарегистрирован: 28.01.2010
Сообщений: 22

Re: Нагрузка на сервер при смене localhost на IP

paulus написал:

Вопрос по сети:
А ко второй машинке в fastcgi ходите по TCP/IP? Там все соединения добегают?

Вопросы по базе:
Включены ли persistent connections? Выключен ли обратный резолв? Стоят ли
гранты по IP или по именам?

По первому вопросу - да, все ок. Это выделенный 1Гбит интерфейс и общий лоад в нем невысок и потерь нет

По второму - обратный резолв выключен и гранты даны по IP.Персистент коннекции насколько я понимаю в mysqli используются по умолчанию (а обратного в конфиге не указано). Хотя все равно возможно дело именно в этом и мы попробуем это завтра когда будет нагрузка, т.к. как уже говорилось, что проблема возникает только под ней, а в силу специфики приложения синтетические тесты провести очень сложно.

Спасибо за хороший совет.

Неактивен

 

#10 17.02.2010 20:50:44

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Нагрузка на сервер при смене localhost на IP

Не заработает — пишите, покопаем дальше, даже интересно smile

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson