ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Все наглухо виснит




On 13.05.2009, at 21:15, Konstantin Belov wrote:

Алексей wrote:
Добрый день, коллеги

есть 3 машины. nginx apache mysql и браузерная игра в стадии беты.

Иногда все просто умирает.Все происходит при онлайне 100 человек.Загрузка проца минимальная на всех машинах; Мое расследование показало что изначально висит база. чтото ее вешает. Апач не дожидается ответа и начинает плодить процессы и в результате у него воникает популярное "server reached MaxClients setting" (ребут апача не помогает) ну а nginx ждет апача. Эту теорию подтверждает то что система мониторинга (netxms) тоже не может получить доступ к базе во время данного "эвента") Лечит ситуацию час ожидания или ребут дб сервера, ибо mysql не хочет по хорошему убиватся.


Под базу выделена машина 2xquad xeon 2.66 16Gb ram . мощность нехилая. конфиги mysql если надо - напишу. Среднее количество запросов при ~50 юзеров онлайн . 1.23К в секунду.
1200 req/sec ?

что же будет при 2к игроков? :-)

Сегодня делал стресс тест апачу скриптом содержащим в себе немного запросов к базе, мемкешу и просто вычислений. все летает . Тест показывает что 2-3к юзеров держится без лагов.


Игровой проект скоро будет запущен , и после оф запуска , пуска рекламы и огромного количества юзеров. такие штуки крайне нежелательы.


Вообщем подскажите в какую сторону смотреть. P.S. из mysql-slow лога выловлены запросы, но они безобидные. присутствует кстати много join-ов от которых програмисты обещали мне поскорее избавится.
так в чём же дело? надо найти мотивацию, чтобы они скорее избавились?




С уважение,Алексей

Добавьте в лог время обработки запросов и смотрите, что долго выполняется.

http://sysoev.ru/nginx/docs/http/ngx_http_upstream.html#variables
ну и напишет там нгинх 30 секунд или сколько там тайм-аут стоит. чем это поможет? просто по логам можно посмотреть первую 502 ошибку и глянуть с чего приблизительно началось

$upstream_response_time ? в переменной хранятся времена ответов серверов в секундах с точностью до миллисекунд. Несколько ответов также разделяются запятыми и двоеточиями.

$upstream_status ? в переменной хранятся коды ответов серверов. Несколько ответов также разделяются запятыми и двоеточиями.


P. S. может ддос? :-)
может и ддос
mytop чтоли поставьте
и логи мускула анализировать надо
слоу-лог разве не достаточно ясно дал понять в чём дело?
а ОС какая? версия мускула и всё прочее ?
в пхп-май-админе есть интересная страница, где он красным всякие недотюниности показывает, Status называется
тоже полезно почитать чего там пишут



P.S.: тема, кстати, полный офф-топ



 




Copyright © Lexa Software, 1996-2009.