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

Alexey V. Karagodov kav at karagodov.name
Wed May 13 22:24:59 MSD 2009


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.: тема, кстати, полный офф-топ



More information about the nginx-ru mailing list