Metal Messiah

Metal Messiah
Рейтинг
152
Регистрация
01.08.2010
Программистъ

Теперь я вообще ничего не понимаю. Была свободная память, апачи не размножались, база тормозила.

Все что сделал - перевел таблицу в InnoDB перед этим его включив в конфиге. Теперь запросы SELECT стали заметно медленнее работать (это без пика нагрузки).

В результате в пике проц сожран на 100%, памяти тоже нет и апачей не 10-11 как было а больше 15. Настройки вебсервера не менял. Где эти лишние апачи были при MyISAM?

gif sbtop2.gif

О, вчера был выходной а сейчас сразу много! Всем спасибо за идеи.

2. Отказаться от apache в пользу php5-fpm

Ну и смысл? Будет nginx всеми потоками ждать пока база ответит и не принимать новые запросы.

3. Оптимизировать запросы MySQL

посмотрю что можно сделать

4. Кэшировать

ну нет там того что можно кешировать. Запросы в БД все разные.

Так не используйте mysql для статистики - для этого есть мемкеш
А из него раз в час пакетным инсертом скидывайте в мискуль

Это идея хорошая, но тогда возможны сбои в стиле что следующая запись должна ссылаться на предыдущую а та еще не добавлена потому она никуда не ссылается или ссылается не на ту... Тут надо алгоритм полностью менять будет.

Таблицы с активной записью (а можно и все) в InnoDB перекинь

Первое что я сегодня сделаю. Я выбирал MyISAM потому что судя по какому-то мануалу или статье он был более оптимален для моих задач. Проверю так ли это. Joinов там нет, основная работа с одной таблицей.

Лучше это когда проект будет приносить доходов на 2 таких VPSки. ЗА совет конечно спасибо, но мне интересно как выжать максимум из существующего железа. Хостер мне тоже предложил увеличить тариф, но это я всегда успею.

На крайняк у меня есть решение - плагин, который делает GET запрос к веб серверу, изменить на плагин, который будет делать тот же коннект на демон, и написать демон который будет принимать конненты по TCP на определенный порт и делать всю ту же работу включая общение с базой, таким образом освобождается куча памяти на апачи и из этой цепочки полностью выпадает пхп. Но это решение тоже упрется в какой-то невидимый лимит mysql сервера, так что пока это только идея. Все равно с MySQL надо что-то делать!

Если baidu по запросу "п**да" выводит запчасти к а/м Мазда (видимо логика такая на основе лексического строения китайского языка - там каждый иероглиф жто звук) то на ру рынке им делать нечего.

А Mail.ru давно к этому шли, чего стоит один только их аналог ТИЦа

У меня та же стата + игровой сервер + еще всякая мелочевка висела на сервере от Eomy.net с 384 RAM+96 Swap, потом запустил 2й игровой сервер там же памяти перестало хватать (100-150 Мб на процесс) и апгрейдил тариф до 512+128 Мб. Там проц 2500 но при превыщении 800. Что можно выжать из P3-600 Мгц я сам знаю т.к. дома такой сервер был под виндой. К чему я это...

К тому что все работало нормально. Пики нагрузки были но это сказывалось только на скорости отдачи страниц, но они отдавались в разумное время. Apache в конфиге до 5 серверов с Keep-Alive + Mysql. Без nginx. Просто месяц назад у EOMY на серве слетел винт и пока решался вопрос с восстановлением данных пришлось перенести и уже думал насовсем.

на этом оффтоп заканчивается.

ОК, 150 коннектов. У меня все равно столько нет - вот скрин top'а во время ступора. 10 php, 11 apache. 10 одновременных подключений к БД...

gif btop.gif

Спасибо, но боюсь что не поможет.

1. Сайт берет 10% от всей нагрузки, скрипт статы - 90%. Даже если я закеширую сайт...

2. Стату кешировать никак нельзя, т.к. каждый запрос заканчивается записью строки в таблицу БД и возвратом некоторых данных запрашивающему.

Вообще странно что max_connections=100 закомментировано, т.е. не ограничено, апачей штук 15 всего без KeepAlive, т.е. одновременно обрабатывается с 2 десятка запросов, а база тормозит и не отвечает вовремя на половину.

Можно на твой виндовый сервер поставить виртуалку на 512Mb (тот же VirtualBox) с Linux'ом и через нее траффик завернуть.

Что за игруха? КС? Если да то любой прокси или вторая машина впереди подымет пинг, причем существенно.

Нужно отфильтровывать пакеты клиентов UDP от флуда UDP приходящего на игровой порт.

ты флуд как можешь отличить? специфичное содержимое или рандом?

Если под эту игру нет конкретного решения нужно писать специальный софт, и затачивать только под защиту этой игры. Никаких правил, фильтров и прочего - быстрее работать будет.

zexis все правильно скащал. Забей.

Теоретически можно писать заяву в спецотдел, они вычислят какого-то бота, конфискуют жесткий диск, выделят там троя и найдут управляющий сервер. Может быть его закроют. Но: Это быстро делает только одна контора в мире - FBI которая первым делом отбирает домен а потом выясняет обстоятельства. У нас это месяцы (если полицаи не покрутят пальцем у виска когда ты к ним с заявой прийдешь) и за эти месяцы этот сервер может несколько раз смениться, ботнет начать палиться антивирусом или школьник попасть под машину выходя за пивом.

Хорошо тем кто живет в приграничных с Россией районах Украины.

Виза не нужна. Проехал 40км, открыл счет в отделении российского банка в ближайшем Озалупенске и снимаешь себе с карты WMR. Только банк надо найти такой чтобы при снятии в Украине комиссию не драл больше 1%

Если ничего в августе не случится - еду. В Прибалтике еще не был.

Всего: 567