есть 3 машины. nginx apache mysql и браузерная игра в стадии беты.
Иногда все просто умирает.Все происходит при онлайне 100 человек.Загрузка проца минимальная на всех машинах;
Мое расследование показало что изначально висит база. чтото ее вешает. Апач не дожидается ответа и начинает плодить процессы и в результате у него воникает популярное "server reached MaxClients setting" (ребут апача не помогает) ну а nginx ждет апача.
Эту теорию подтверждает то что система мониторинга (netxms) тоже не может получить доступ к базе во время данного "эвента")
Лечит ситуацию час ожидания или ребут дб сервера, ибо mysql не хочет по хорошему убиватся.
Под базу выделена машина 2xquad xeon 2.66 16Gb ram . мощность нехилая. конфиги mysql если надо - напишу.
Среднее количество запросов при ~50 юзеров онлайн . 1.23К в секунду.
Сегодня делал стресс тест апачу скриптом содержащим в себе немного запросов к базе, мемкешу и просто вычислений. все летает . Тест показывает что 2-3к юзеров держится без лагов.
Игровой проект скоро будет запущен , и после оф запуска , пуска рекламы и огромного количества юзеров. такие штуки крайне нежелательы.
Вообщем подскажите в какую сторону смотреть.
P.S. из mysql-slow лога выловлены запросы, но они безобидные. присутствует кстати много join-ов от которых програмисты обещали мне поскорее избавится.