Зайти в момент подвисания в mysql и посмотреть show full processlist?<br>Скорее всего, блокировки таблиц при вставке/обновлении. <br><br><div class="gmail_quote">2009/5/13 Алексей <span dir="ltr"><<a href="mailto:me@algalish.ru">me@algalish.ru</a>></span><br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Добрый день, коллеги<br>
<br>
есть 3 машины. nginx apache mysql и браузерная игра в стадии беты.<br>
<br>
Иногда все просто умирает.Все происходит при онлайне 100 человек.Загрузка проца минимальная на всех машинах;<br>
Мое расследование показало что изначально висит база. чтото ее вешает. Апач не дожидается ответа и начинает плодить процессы и в результате у него воникает популярное "server reached MaxClients setting" (ребут апача не помогает) ну а nginx ждет апача.<br>
Эту теорию подтверждает то что система мониторинга (netxms) тоже не может получить доступ к базе во время данного "эвента")<br>
Лечит ситуацию час ожидания или ребут дб сервера, ибо mysql не хочет по хорошему убиватся.<br>
<br>
<br>
Под базу выделена машина 2xquad xeon 2.66 16Gb ram . мощность нехилая. конфиги mysql если надо - напишу.<br>
Среднее количество запросов при ~50 юзеров онлайн . 1.23К в секунду.<br>
Сегодня делал стресс тест апачу скриптом содержащим в себе немного запросов к базе, мемкешу и просто вычислений. все летает . Тест показывает что 2-3к юзеров держится без лагов.<br>
<br>
<br>
Игровой проект скоро будет запущен , и после оф запуска , пуска рекламы и огромного количества юзеров. такие штуки крайне нежелательы.<br>
<br>
<br>
Вообщем подскажите в какую сторону смотреть.<br>
P.S. из mysql-slow лога выловлены запросы, но они безобидные. присутствует кстати много join-ов от которых програмисты обещали мне поскорее избавится.<br>
<br>
<br>
<br>
С уважение,Алексей<br>
</blockquote></div><br><br clear="all"><br>-- <br>С уважением, Борис Долгов.<br>icq 77556665<br>e-mail <a href="mailto:boris@dolgov.name">boris@dolgov.name</a><br>