DDoS'им домашние сервера.
реклама
Сидел я что-то ночью и было гнусно мне и решил я стрельнуть из AB-шки (ApacheBench) по серверам своим. Поднял Апач, завёл Мускуль (правда, базы так и не схватились, чтобы проверить скорость сборки PHP на блоге WP).
Интерес был из-за того, что конфиг серверов был очень схож. Уточню:
Суть | Сервер #1 | Сервер #2 |
---|---|---|
ОСь | Win7x64Pro | Win2008x64 |
Платформа | S1156 | S1156 |
CPU | Core i7 860 (2.8GHz x 4c*) | Core i5 760 (2.8GHz x 4c) |
CPU fan | Tt Frio | Noctua NH-C12P SE14 |
RAM | 8Gb 1333MGz (4 x 2Gb) 1.5V | 8Gb 1333MGz (2 x 4Gb) 1.5V |
MB | Asus P7P55-M | Asus P7P55D-E |
HDD | 2 x 1Tb WD Black FAEX(raid0)(7.2k) | 2 x 150Gb WD Veloceraptor(raid0)(10k) |
*-HT выключен
А вот режимы работы были несколько разными, хоть и не фатально:
Суть | Сервер #1 | Сервер #2 |
---|---|---|
CPU | 3,33GHz (159x21)@1.1V | 3,58GHz (210x17)@1.25V |
RAM | 636MHz (DDR3-1272) | 842MHz (DDR3-1685) |
RAM t | 9-9-9-23 CR2 | 9-9-9-24 CR1 |
Софт на обеих ЭВМ:
• Apache 2.2.8
• PHP 5.2.6
• MySQL 5.0.51b
• phpMyAdmin-2.10.3
Скорость разделов под стэк с базами, апачем итд:
Скорость серверного раздела (сервер 1)
Скорость серверного раздела (сервер 2)
Для мишени нужно было выбрать html (т.к. настраивать php было лень, да и html ближе к повседневным запросам, нежели непрокэшированный php) с жирным, некрасивым кодом. Берем одну страничку из сайта фотографа (оригинал http://sambeavers.ru/camerachart2.html)
Итак, заряжаем AB в cmd и хреначим в локалхост:
(кликните по картинке для увеличения)
Вот это да! Если кто не просек куда смотреть, скомпилирую данные в таблицу:
Суть | Сервер #1(i7 860) | Сервер #2(i5 760) |
---|---|---|
Количество запросов* | 787 | 50000 |
Время выполнения этих запросов | 38 сек | 7 сек |
Ошибок | 0 | 0 |
Скорость обработки запросов | 20 з/сек | 6829 з/сек |
Время на обработку запроса | 490 ms | 1 ms |
Скорость передачи данных | 0,8 МБайт/сек | 261 МБайт/сек |
* - уменьшил количество, ждать лень было
Честно говоря, не понимаю откуда такая маленькая скорость обработки запросов на первом сервере. Не исключаю, что это программный баг или в системе висит что-то мешающее Апачу спокойно работать (фаерволлы, антивирусы и подобная софтина была, разумеется, выключена).
Очевидно, что это не баг железа. Скорее всего и не баг самой ОС (приоритеты менял, свап убивал). Возможно баг самого стэка AMP. Честно говоря, мы с котом уже устали под ночь и отказались выяснять причины. В ближайшем будущем разрулим.
В итоге мы с Сокетом были удивлены и недовольны:
Сокет удивлен действиями Апача
Выводы:
1) Два идентичных практически сервера (по части железа) но с разной ОСью показали чудовищно разную производительность.
2) Повлияла ли на производительность ОСь - да.
3) Только ли ОСь повлияла на провальные результаты первого сервера? - нет, определенно что-то еще. Как только узнаю что - напишу дополнение.
4) Насколько производительность сервера на базе Win 2008 быстрее Win 7 в нашем случае? - Сервер на базе Win 2008 оказался в 341 раз быстрее.
Интересные моменты:
Сервер на базе Core i5 и Win 2008 показал способность обработать более 6500 запросов в секунду в сценарии html. Тоесть, если мы не усложняем сайт php, flash, дикими css-хаками то единовременно сервер может выдерживать около 13 000 посетителей (в том случае если каждый из них раз в две секунды переходит на другую страницу).
Если же мы обложим сервер сборкой страницы c помощью php (ну, например так работают блоги типа WP http://sambeavers.ru/blog/ - с того же сайта) то сервер сможет обрабатывать уже ~345 запросов в секунду (разумеется, это усредненное значение, многое зависит от качества кода), а это около 700 пользователей единовременно, просматривающих блог.
На счет "несерверного" железа:
В Конференции конфиг назвали "помойным" и по серверным меркам - так оно и есть. Но здесь есть несколько "но". Из нехитрых рассчетов выше можно понять, что даже такого железа хватает за глаза для мелкого сайта или блога. Да чего уж там, 700 посетителей единовременно и для небольшого интернет-магазина будет более чем достаточно. Если поставить сервер на CentOS или Debian можно и в 1000-1300 человек нагрузки держать. Если еще при этом раскидать картинки на сервере по серверам Yandex и Googlе (чтобы браузер собрал их с разных сайтов, получая эффект аналогичный RAID 0 у хардов) то получится обслужить все 1700 человек.
Такой конфиг сейчас реально собрать за 17 000, с корпусом и БП. Будет ли такой сервер отказоустойчив 24\7? - нет. Да и черт с ним, за такую то цену. Главное - бэкапить данные. Более того, года 3 такой сервер прослужит точно - а больше и не надо.
Если собирать сервер начального уровня с одним процом, это встанет около 35 000 минимум. Что мы получим за такие деньги? Большую производительность? - Нет, Xeon или Opteron в бюджетном сервере за 35к явно сольют разогнанному Core i5. Получим стабильность. Да, мило, а она нужна, если и домашний конфиг способен отработать 3 года? (а через 3-4 года и сервер придется менять, ибо его потом не продать).
Сделал личный для себя вывод - не решать несуществующих проблем. Вот ломануться на сервак 100 000 пользователей разом и базы данных лягут - тогда поговорим о Ксеонах.
Спасибо за внимание и удачного разгона!
Обсуждение: https://forums.overclockers.ru/viewtopic.php?f=25&t=404405
реклама
Лента материалов
Соблюдение Правил конференции строго обязательно!
Флуд, флейм и оффтоп преследуются по всей строгости закона!
Комментарии, содержащие оскорбления, нецензурные выражения (в т.ч. замаскированный мат), экстремистские высказывания, рекламу и спам, удаляются независимо от содержимого, а к их авторам могут применяться меры вплоть до запрета написания комментариев и, в случае написания комментария через социальные сети, жалобы в администрацию данной сети.
Сейчас обсуждают