Показать сообщение отдельно
  #3 (permalink)  
Старый 26.05.2011, 15:49
Аватар для mycoding
NodeJS developer - ушел
Отправить личное сообщение для mycoding Посмотреть профиль Найти все сообщения от mycoding
 
Регистрация: 06.01.2010
Сообщений: 1,022

Слышал, что есть специальные тесты для проверки максимальной нагрузки сайта, при которой проект ляжет.
Такие тесты стоят 10000$(мне так сказали)

Решил подумать, а как можно протестировать проект самому и найти уязвимые места.

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

У меня сайт подгружает большой js файл объемом в 185 кб.
У хостера узнал, что максимальный трафик для сайта
80 мегабит/сек (может мегабайт, постоянно путаю, если что поправьте)

У меня скорость входящего трафика от 3 до 15 иногда даже 24 мбсек(ночью)
Возьмем 3, по минимуму.

Делаем следующий html файл
<script>
	for(var i=0;i<1000;i++){
		var newScript = document.createElement('img');
		newScript.src = 'http://мой_сайт/Этот_файлик?'+new Date().getTime()+'_'+i;
	}
</script>


И запускаем хоть с рабочего стола в браузере хром.
Лично у меня за ~2 минуты скачалось 150~200 мегабайт.

Увеличим i с 1000 до 1000 000, и на 200 минут нагрузка сайта под полную пропускную способность моего интернета в ~3 мбит/сек получили.

Дальше вычисляем 80Мбит/3Мбит~=26.
Т.е. получается,если >26 человек будут периодически его запускать один раз в 2.5 часа,
то мой сайт станет ложится на бок.
Также хостингу не понравится, что за такие деньги у меня качают такой объем трафика.

А на Украине насколько мне известно, 24 мбит/сек - это стандартный интернет.
Т.е. можно найти 10 ребят, платить им по 100 в день и мой ресурс ляжет по полной.

Не ужели так просто вывести из строя мой сайт(((

Первое, что приходит в голову, это купить cdn или арендовать облачный хостинг у amazon.
Полностью переносить всё на облачный хостинг нельзя, по ряду причин.
Только статичные файлы.
Тогда можно взять хоть index.html и точно также поступить и с ним, увеличив в n раз i в цикле.

Меня интересует anti-ddos защита потому, что выпускать проект на рынок,
чтобы он лег при первой популярности не хочется.
Но и платить по 10000$ за тестирование я не могу.

Последний раз редактировалось mycoding, 26.05.2011 в 16:59.
Ответить с цитированием