|
|
|
Аномально большой трафик mysql - ддос атака?
|
|||
|---|---|---|---|
|
#18+
Все началось недели 3 назад. Один сервер не выдержал 5000 хостов и завис. Я подумал что это ддос и начал ковырять апач, но в логах было все в норме. На следующий день я выявил что атаковали по всем возможным портам (поленился в свое время настроить iptables на все службы) причем сервер падал из-за того, что HDD не справлялся, запросы копились ну и все. После закрытия ssh, ftp и mysql от всех кроме меня и настройки iptables DNS и SMTP, нагрузка на HDD снизилась, но не исчезла. Через неделю ситуация повторилась и сервер опять упал. Я начал ковырять в сторону оптимизации сервера - отправил некоторые таблицы в память, подкрутил апач. Теперь вроде сервер держится, но WA% в топе все равно скачет до 20-30%. Во время настройки Mysql обнаружил аномально большой объем исходящего трафика - от 10 до 25гб в час. Сделал лог, скачал, посмотрел - вроде бы все запросы от сайта и я подумал что нужно крутить сайт. И подкручивал все это время, пока со вторым моим сервером не случилась такая же проблема (с которым я сравнивал объем трафика - он было то-ли 70мб в час, то-ли 700). Так вот на днях заметил что странички стали открываться заметно дольше, а запросы в несколько раз медленнее. В топе на это раз увидел активность %si, которая постоянно держится на уровне 10-15% даже ночью, даже когда апач с mysql выключен. Все остальные службы закрыты за iptables, ДНС тоже выключен. Я перезагрузил сервер, но проблема не исчезла. На следующий день во время выполнения одного скипта я заметил знакомую картину %wa -50, хотя до этого, буквально неделю назад этот скрипт выполнялся в 6 потоков и все было по нулям. Сегодня заметил в phpmyadmin что объем трафика теперь не 70 или 700, а 25ГБ. Но на этом сервере всего один сайт с посещаемостью в 300 уников. Я опять сделал лог, открыл - опят таки все запросы в логе от сайта, как раз попал скрипт, который делает очень много запросов, но на моем домашнем компе он не дает нагрузку более 2% (как раз во время его отладки открыл для себя преимущество индексов :)). Начал было уже думать, что загоняюсь и что-то видимо попутал, как заметил, что лог весил 60 мб, а со времени запуска набралось уже 300+ буквально за несколько минут. Запустил у себя на домашнем этот скрипт несколько раз подряд в 6 потоков - 60мб в час написано. Из соседних тем посмотрел по iftop активность, но ничего там не выявил. Не понимаю откуда такой объем трафика и как его отловить. Очевидно что он локальный, потому что у меня во первых Mysql закрыт, во вторых тариф не более -10мб\сек. В каком направлении мне копать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2012, 01:12 |
|
||
|
Аномально большой трафик mysql - ддос атака?
|
|||
|---|---|---|---|
|
#18+
Если Вы уверены, что запросы идут только от сайта, и более ниоткуда - тогда смотреть логи вебсервера и пытаться соотнести количество запросов к мускулю с количеством запросов к вебсерверу и с количеством легальных посетителей сайта. Вполне может оказаться, банальный ддос. Однако, возросший трафик может быть и следствием какого-то кривого скрипта. Мне попадались "шедевры" творчества, где таблица запрашивается с сервера целиком, а затем в скрипте отсеиваются лишние данные. Пока в таблице данных не слишком много, это вполне прокатывает. Но когда со временем количество строк возрастает... Что касается резко возросшей нагрузки на диск, то, возможно, мускулю недостаточно оперативной памяти для временных таблиц. Опять таки, есть смысл посмотреть в сторону анализа/оптимизации запросов. Mymaскрипт выполнялся в 6 потоковКакие-то долгоиграющие вычисления? А потоки точно не плодятся? Запросы в очереди не висят пачками? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2012, 01:44 |
|
||
|
Аномально большой трафик mysql - ддос атака?
|
|||
|---|---|---|---|
|
#18+
Кажется я все таки вычислил на втором сервере причину нагрузки на диск и трафик, это был не ддос, небольшая моя оплошность. На счет 4.5%si правда пока все равно непонятно откуда. Благодарю за ответ! Вычислил так - решил исключить из "уравнения" сайт и закрыл вообще к нему доступ всем через allow deny. Далее походил по сайту и заметил, что да, действительно трафик от моих действий зависит. Потом понял что в 2х местах есть SELECT *, а там есть поле с большим текстом (кэшем). На все же первый сервер на cms и там код особо не редактировался, но это уже оффтоп. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2012, 03:04 |
|
||
|
Аномально большой трафик mysql - ддос атака?
|
|||
|---|---|---|---|
|
#18+
Все же все равно непонятная нагрузка на HDD. Я переписал скрипт чтобы работал только с необходимыми данными и с отдельной таблицей и загрузил на сервер. Днем увидел что HDD опять не справляется и закомментировал некоторые строчки - стало 1-2%, хотя там вообще запросы на "5 коппек", на моем домашнем даже лампочка HDD наверно не мигнет. Решил проверить как будет работать на моем домашнем - 6 потоков отлично, 12 потоков - отлично, 24 отлично - не более 5% нагрузка на mysql, еще учитывая то, что он не x64, нагрузка на hdd не чувствуется, хотя у меня обычный appserv со стандартными конфигами - все отработало без задержек. Частота запросов доходила до 1100 в секунду. Думаю и в 48 потоков все будет норм, просто не успею запустить, как первые уже закончаться. Потом я закрыл доступ всем на сайт кроме себя, и запустил 1 скрипт в один поток - %WА сразу же подскочила до 90% и на 1 сервер могло уходить до 10 секунд. Архитектура скрипта: Обновление информации об игровых серверах. Каждый поток опрашивает свою группу серверов, например с 1000 по 1400. Запросы во время опроса скрипта: Берем кеш с предыдущей информацией (количество игроков, название, онлайн ли и тд), распаковываем, опрашиваем сервер, высчитываем что надо, пакуем, делаем апдейт. Все индексы используются, лимиты прописаны Я этот скрипт дописал, чтобы он перебирал игроков на сервере, высчитывал кое что, паковал и тоже заносил в отделенную таблицу игроков. За ночь накопилось около 40000 строк с никами и статистикой. В общем получилось что мой домашний компьютер обрабатывает 4000 серверов и 20000 игроков за 20 секунд в 24 потока, а сервер не может справится и с одним потоком. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2012, 18:53 |
|
||
|
Аномально большой трафик mysql - ддос атака?
|
|||
|---|---|---|---|
|
#18+
Надо проверить аппаратуру. Если на сервере есть RAID-контроллер с кеш-памятью, то проверить её батарейку. Если на сервере парити-RAID (уровень 5,6 и тд), то проверить, что все диски целы и работают. А по теме mysql тут есть отдельный форум. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2012, 20:06 |
|
||
|
Аномально большой трафик mysql - ддос атака?
|
|||
|---|---|---|---|
|
#18+
МутагенНадо проверить аппаратуру. Если на сервере есть RAID-контроллер с кеш-памятью, то проверить её батарейку. Если на сервере парити-RAID (уровень 5,6 и тд), то проверить, что все диски целы и работают. А по теме mysql тут есть отдельный форум. Благодарю за ответ. По поводу темы - mysql все же косвенно относится к проблеме, дело то не в нем конкретно (my.cnf скопировал с домашнего - проблема не решилась, значит он тут не при чем), а настройках системы (ну или состоянии железа), поэтому тема все же по разделу, по крайней мере, когда создавалась я не знал на какой именно сервис грешить, да и вообще на сервис ли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2012, 20:17 |
|
||
|
Аномально большой трафик mysql - ддос атака?
|
|||
|---|---|---|---|
|
#18+
Mymaмой домашний компьютер обрабатывает 4000 серверов и 20000 игроков за 20 секунд в 24 потока, а сервер не может справится и с одним потоком.Машина машине рознь. Бывает что домашний комп в разы "мощнее" бюджетного сервера. Да и ОС, ПО, решаемые задачи различны. Имеет смысл сравнивать "при прочих равных". Кстати, движок таблиц на домашней машине и на сервере один и тот же? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2012, 21:46 |
|
||
|
Аномально большой трафик mysql - ддос атака?
|
|||
|---|---|---|---|
|
#18+
vkleMymaмой домашний компьютер обрабатывает 4000 серверов и 20000 игроков за 20 секунд в 24 потока, а сервер не может справится и с одним потоком.Машина машине рознь. Бывает что домашний комп в разы "мощнее" бюджетного сервера. Да и ОС, ПО, решаемые задачи различны. Имеет смысл сравнивать "при прочих равных". Кстати, движок таблиц на домашней машине и на сервере один и тот же? Движок одинаковый, даже настройки mysql скопировал с домашнего. Поставил на сервер дополнительный sas 15k диск, перенес на него базу, но все равно он не тянет. Странная ситуация получается - у меня на домашнем HDD, на котором хранятся базы -2Тб самый дешевый, однако во время выполнения в 12 потоков io в processexplorer показывает от 1000 до 5000, а на быстром sas мне называли цифру в 400 (или я не "те" io сравниваю?). Как такое возможно? Правда система стоит на ssd, но файл подкачки все равно находится на SATA. Может ли Mysql использовать как-то ssd на домашнем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2012, 11:56 |
|
||
|
Аномально большой трафик mysql - ддос атака?
|
|||
|---|---|---|---|
|
#18+
Вам пытаются помочь, пишут: МутагенНадо проверить аппаратуру. Если на сервере есть RAID-контроллер с кеш-памятью, то проверить её батарейку. Если на сервере парити-RAID (уровень 5,6 и тд), то проверить, что все диски целы и работают. Давайте уточню: - у Вас система стоит на рейд? У Вас аппаратный контролер рейд-массива? Какой именно? Какого уровня рейд у Вас используется? - покажите нам смарт-инфу каждого из Ваших дисков? То есть, ищем аппаратную проблему дисковой подсистемы. --- Виктор ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2012, 14:50 |
|
||
|
Аномально большой трафик mysql - ддос атака?
|
|||
|---|---|---|---|
|
#18+
VGreyВам пытаются помочь, пишут: МутагенНадо проверить аппаратуру. Если на сервере есть RAID-контроллер с кеш-памятью, то проверить её батарейку. Если на сервере парити-RAID (уровень 5,6 и тд), то проверить, что все диски целы и работают. Давайте уточню: - у Вас система стоит на рейд? У Вас аппаратный контролер рейд-массива? Какой именно? Какого уровня рейд у Вас используется? - покажите нам смарт-инфу каждого из Ваших дисков? То есть, ищем аппаратную проблему дисковой подсистемы. --- Виктор Raid ов нет. Сервер работает на VMware (не знаю как правильно сказать). Изначально была такая конфигурация: 2 Гб оперативки, диск SATA, 2 ядра, но я докупил диск SAS, а заодно и 2 ядра и еще 2 гб оперативки, поэтому машину перенесли на другое железо. Базы перенес на SAS, но ощутимого прироста это не дало, на глазок вообще не дало ничего. Я думаю что диска 4 в raid 0 мне поможет, но меня озадачивает тот факт, что мой самый дешевый 2тб HDD sata в одиночку справляется с нагрузкой на домашней машине, а серверной нужен raid из sas ов для этого и еще неизвестно сколько понадобиться дисков. Пока только идея в том, что как-то ssd вмешивается в этот процесс.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2012, 15:04 |
|
||
|
Аномально большой трафик mysql - ддос атака?
|
|||
|---|---|---|---|
|
#18+
Сравните скорость чтения/записи на вашем домашнем компьютере и сервере. Самый простой способ "dd". Запись: Переходом в директорию где у вас лежат файлы DB и выполняем. Код: powershell 1. (это команда создаст файл "test_speed" размером 10Gb). После этого этот файл можно удалить. Чтение: Код: powershell 1. (Эта команда прочитает первые 10Gb с диска). Еще вопрос: У вас используется одна и та же файловая система на домашнем компьютере и сервере с одинаковыми опциями монтирования? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2012, 15:56 |
|
||
|
Аномально большой трафик mysql - ддос атака?
|
|||
|---|---|---|---|
|
#18+
Jek_aСравните скорость чтения/записи на вашем домашнем компьютере и сервере. Самый простой способ "dd". Запись: Переходом в директорию где у вас лежат файлы DB и выполняем. Код: powershell 1. (это команда создаст файл "test_speed" размером 10Gb). После этого этот файл можно удалить. Чтение: Код: powershell 1. (Эта команда прочитает первые 10Gb с диска). Еще вопрос: У вас используется одна и та же файловая система на домашнем компьютере и сервере с одинаковыми опциями монтирования? Дома windows 7, сейчас попробую поставить виртуальную машину. Хотя в моем представлении windows должна в таких задачах наоборот отставать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2012, 17:31 |
|
||
|
Аномально большой трафик mysql - ддос атака?
|
|||
|---|---|---|---|
|
#18+
Хотя я забыл что у меня уже есть данные по дискам. В поддержке отрезали кусок, проставили win7 и прогнали по тестам, они не особо различаются по IOPS 1. Домашний 2. Серверный SATA Хотя во время выполнения скриптов я наблюдая такую картину на домашнем в proccessexplorer Объемы данных небольшие, около 1.5 мб в секунду ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2012, 17:38 |
|
||
|
Аномально большой трафик mysql - ддос атака?
|
|||
|---|---|---|---|
|
#18+
MymaRaid ов нет. Сервер работает на VMware (не знаю как правильно сказать). О, то Вы сравниваете непонятнокакую виртуальную машину с домашней? Интересные у Вас подходы... Типа, сравниваем и И, при этом, удивляетесь, что второй вариант медленнее ??? --- Виктор ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2012, 10:09 |
|
||
|
Аномально большой трафик mysql - ддос атака?
|
|||
|---|---|---|---|
|
#18+
Mymaменя озадачивает тот факт, что мой самый дешевый 2тб HDD sata в одиночку справляется с нагрузкой на домашней машине, а серверной нужен raid из sas ов для этого и еще неизвестно сколько понадобиться дисков. Думаю, вы уже поняли, что сравнивать что-то внутри виртуальной системы, и, в случае, когда виртуализации нет, несколько некорректно. Плюс к этому, некоторые системы виртуализации не позволяют установленному в них Линуксу полноценно работать с дисками, в частности, корректно организовать дисковый кеш. Естественно, что в этом случае, даже при наличии быстрых и исправных дисков, система будет работать с ними существенно медленнее. Второй момент. Смею высказать, по мнению многих системных администраторов, которою, крамольную мысль, впрочем, готов подтвердить ее тестами, а именно: в правильно организованной системе и, при наличии достаточной оперативной памяти, быстродействие mysql, практически, не зависит от скорости дисков . Смотрите: если у Вас есть полнотекстный поиск, отказываемся от него в пользу Сфинкса, базу конвертируем в innodb, которая быстро подтягивается в память и работает там, практически, без обращений диску и с отложенной записью. Таким образом, определяющим будет быстродействие памяти и мощность процессора. Проверяется это утверждение, тоже, довольно просто: для сравнения, переносим базу на диск в памяти, и, через какое то время после начала работы, проводим тесты. Myma , Вам нужен быстрый проект с отзывчивым мускулом, или Вам нужно исследование того, как именно виртуализация влияет на быстродействие mysql? Если первое, возьмите выделенный сервер и не парьтесь, цените время, его нам отпущено не так уж и много. Удачи Вам! --- Виктор ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2012, 10:41 |
|
||
|
Аномально большой трафик mysql - ддос атака?
|
|||
|---|---|---|---|
|
#18+
Под виртуальную машину отдан целый физический сервер. VMware в данном случае аналог IP-KVM. Хорошо, тогда подскажите конфигурацию Mysql, чтобы он меньше обращался к диску. Требования: 1000 UPDATE/INSERT в секунду полей TEXT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2012, 12:57 |
|
||
|
Аномально большой трафик mysql - ддос атака?
|
|||
|---|---|---|---|
|
#18+
innodb вроде помогло, в 6 потоков теперь на уровне 1-5% wa на sata во время обновления. Думаю raid0 из 2х sas будет теперь окончательным решением. Благодарю за помощь! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2012, 14:15 |
|
||
|
Аномально большой трафик mysql - ддос атака?
|
|||
|---|---|---|---|
|
#18+
Mymainnodb вроде помогло, в 6 потоков теперь на уровне 1-5% wa на sata во время обновления. Думаю raid0 из 2х sas будет теперь окончательным решением. Благодарю за помощь! Упадет, не подымешь... Это я про raid0... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2012, 14:26 |
|
||
|
|

start [/forum/topic.php?fid=25&msg=38016560&tid=1483274]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
162ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
| others: | 236ms |
| total: | 502ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...