Как я могу обнаружить и пережить быть “Slashdotted”?

Что хороший путь состоит в том, чтобы пережить аномально высокие транспортные скачки?

Моя мысль - то, что в некотором триггере, мой веб-сайт должен временно переключить в "низкую пропускную способность" режим: переключитесь на основные страницы HTML, минимальную графику, отключите виджеты, которые могли бы создать ненужную нагрузку для базы данных и так далее.

Мои мысли:

  • Использование ЦП монитора
  • Пропускная способность монитора
  • Монитор запрашивает / минута

Править: Я знаком с опциями как кэширование, переключение на статическое содержание или сеть доставки контента, и так далее как средство выжить, поэтому возможно, вопрос должен сфокусироваться больше о том, как каждый обнаруживает, когда веб-сайт собирается стать перегруженным. (Хотя ответы на других методах выживания являются, конечно, еще больше, чем приветствие.) Позволяет, говорят, что веб-сайт выполняет Apache на Linux и PHP. Это - вероятно, наиболее распространенная конфигурация и должно позволить максимальному количеству людей получать помощь со стороны ответов. Позволяет также предполагают, что дорогие опции как покупка другого сервера и выравнивания нагрузки недоступны - большинству из нас, по крайней мере, упоминание на Slashdot будет возникновением, бывающим раз в жизни, и не чем-то, к чему мы можем потратить деньги, готовящиеся.

47
задан TylerH 28 August 2019 в 17:43
поделиться

30 ответов

  1. не дают никому Сборку URL
  2. что-то столь бесполезное, что, если правило 1 повреждается, никто не приедет так или иначе.
22
ответ дан cynicalman 4 August 2019 в 01:29
поделиться

Одно слово: Knipex

0
ответ дан EricSchaefer 4 August 2019 в 01:29
поделиться

Существует много способов, которыми это можно сделать, или по крайней мере помочь. Поисковый Google для "slashdot-защищенного" и Вы найдете много ими:

и т.д.

0
ответ дан Adam Tegen 4 August 2019 в 01:29
поделиться

Я знаю с Digg, можно связаться с ними и запросить, чтобы они поместили в черный список сайт. Можно, вероятно, сделать то же с Slashdot.

0
ответ дан Jordan Mack 4 August 2019 в 01:29
поделиться

Не пишите содержание или предоставляйте услугу, которая может обратиться к фанатам;)

4
ответ дан hellweaver666 4 August 2019 в 01:29
поделиться

Реальный вопрос, "Что является единственным самым эффективным способом быть Slashdotted"

, Если это - настоящая проблема, перенаправьте трафик на мой сайт.

5
ответ дан Dan Williams 4 August 2019 в 01:29
поделиться

Удостоверьтесь, что Ваши страницы поддерживают Измененный в последний раз & If-Modified-Since и/или Завершающий тег & заголовки If-None-Match. С ними можно избежать многих вычислений и передач полностью.

Поиск условного выражения HTTP ДОБИРАЮТСЯ для получения дополнительной информации.

0
ответ дан iny 7 November 2019 в 23:22
поделиться

. htaccess:

RewriteEngine on
RewriteCond %{HTTP_REFERER} slashdot\.org [NC]
RewriteRule .* - [F]
0
ответ дан Wedge 7 November 2019 в 23:22
поделиться

Никто не упомянул выравнивание нагрузки... haproxy, и т.д. Оптимизирует, кэшируется и загружается, баланс должен пережить почти что-либо. Однако я не уверен, находится ли stackoverflow позади подсистемы балансировки нагрузки;)

-1
ответ дан 7 November 2019 в 23:22
поделиться

О выживании Вас являются правильными: переключите или перенаправьте ссылку slashdotted на статическую страницу HTML без графики. Вы могли бы даже хотеть поместить эту страницу на другой веб-сервер, таким образом, Ваш исходный сервер не возьмет слишком много загрузки.

я использовал бы временное перенаправление для этого и удалил бы перенаправление, когда трафик смягчается.

, Но как обнаружить это, это, я хотел бы знать, также! Просто подсчет хитов за последние несколько секунд не мог бы быть достаточно?

0
ответ дан Sam 7 November 2019 в 23:22
поделиться

Автоперенаправление к Кораллу CDN, если запрос не от коралла cdn.

0
ответ дан 7 November 2019 в 23:22
поделиться

Удостоверьтесь все страницы, которые Вы создаете, статичны, никакая база данных, и не используют изображения.

На самом деле, это место не делает ЭТОГО плохо.

0
ответ дан bbutle01 7 November 2019 в 23:22
поделиться

Используйте кэширование!

при использовании WordPress (например), можно использовать что-то как WP-Super-Cache. При использовании регулярного PHP существует все еще много опций, которые можно использовать включая кэш-память . Или можно просто использовать регулярное кэширование стиля прокси сквида.

Любое кэширование, которое Вы используете, поможет пуленепробиваемый (или slashdot/digg-proof) Ваш сайт:-)

1
ответ дан NullUserException 7 November 2019 в 23:22
поделиться

Данные кэша.

Ненужные Прохождения в базу данных для отображения чего-то, что отображено, та же каждая загрузка - то, что уничтожает сервер. Запишите его вывод в файл и использование это вместо этого. Большая часть CMSs и платформы имеют встроенное кэширование (но необходимо включить его), но прокрутка собственного не является наиболее сложной задачей.

0
ответ дан Oli 7 November 2019 в 23:22
поделиться

netstat -plant | awk '$4 ~ /:80\>/ {print}' | wc -l

Это покажет Вам все соединения с сервером Apache. Можно создать cgi сценарий, который вычислит общее количество соединений с сервисом Apache и выпустит предупреждение, как только это достигает определенного порога. То, что сделать в той точке, является другим вопросом.

, Надо надеяться, Ваш сервер подготовлен.

1
ответ дан Nathacof 7 November 2019 в 23:22
поделиться

Можно также использовать Nagios для контроля здоровья сервера. На основе Ваших требований, при определенных условиях, можно инициировать существующий файл SQL для переключения режимов для веб-сайта.

, Например, добавьте "ОБНОВЛЕНИЕ settings_table пропускная способность НАБОРА = 'низко'"; в тот файл SQL и выполненный это в mysql и делает противоположное, когда условия возвращаются к нормальному.

1
ответ дан Gaurav 7 November 2019 в 23:22
поделиться

nearlyfreespeech.net является полуоблаком так сказать и помогает тонне в таких ситуациях. Как другие вышеупомянутое, разделенное на уровни кэширование помогает много. Вытяните блоки информации от memcached вместо базы данных, имейте обратный прокси (или распределенный обратный прокси иначе CDN, Сети Пантеры являются дешевыми) перед Вами.

0
ответ дан 7 November 2019 в 23:22
поделиться

Увеличьте уровень кэширования от DB так, чтобы содержание могло бы меня устаревший, но быстрее получил доступ. Естественно, это только применяется, если содержание не должно быть на 100% последовательным.

1
ответ дан Morten Christiansen 7 November 2019 в 23:22
поделиться

Нет просто никакого способа знать, переживет ли Ваш веб-сайт большие нагрузки если Вы стресс-тест это. Используйте что-то как осада и посмотрите, где Ваши проблемы производительности заключаются. Это растет в памяти слишком быстро? Это начинает замедляться с набором параллельных соединений? Это начинает брать навсегда для доступа к базе данных?

, Как только Вы знаете, где проблемы производительности заключаются, тогда это становится вопросом избавления от них. К сожалению, трудно вдаваться в намного большее количество подробностей, чем это, не зная больше о Вашей конкретной ситуации, но иметь в виду, что Вы говорите об оптимизации здесь. Таким образом необходимо только действовать, когда Вы ЗНАЕТЕ, что существуют проблемы производительности.

И я утверждал бы, что Вы не обязательно просто готовитесь к событию, бывающему раз в жизни. DoS-атаки все еще происходят, таким образом, хорошо иметь в распоряжении приготовления, даже если Ваш сайт не получает slashdotted.

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

6
ответ дан Jason Baker 7 November 2019 в 23:22
поделиться

Существует много способов, которыми это можно сделать, или по крайней мере помочь. Поисковый Google для "slashdot-защищенного" и Вы найдете много ими:

  • Slashdot-защищенный Ваш сервер с FreeCache - Boing Boing
  • Простой Блог Мыслей является теперь Доказательством Slashdot

и т.д.

0
ответ дан JBB 7 November 2019 в 23:22
поделиться

Никогда не становитесь популярными.

, В то время как это будет работать, это не реально полезный. Что Вам нужна инфраструктура, которая может масштабироваться на очень коротком. Что-то как Google Gears или веб-сервисы Amazon кажется идеальным для этого, с тех пор даже Slashdot, не собирающийся сокрушить Google или Amazon. Если Вы хотите свой собственный сервер, удостоверяются, что Ваш поставщик сетевых услуг не собирается отключать Вас в любом предварительно установленном пределе пропускной способности. Купите достаточно аппаратных средств так, чтобы Вы не напрягались только для переноса обычного трафика ни с кем, слабеют для обработки внезапных скачков.

1
ответ дан Chris Upchurch 7 November 2019 в 23:22
поделиться

Поместите его в облако!

Это, вероятно, не важно для персональных блогов и т.д., но для большего облака сайтов хостинг решит это. Amazon EC2, например, вещь об этой стратегии состоит в том, что это будет стоить Вам тонны денег.

В меньшем масштабе, с помощью CDN для всех изображений, довольных / статичных довольный, мог бы помочь немного также, снова оценивание цены важно. Amazon S3 является CDN, который я слышу о большинстве.

2
ответ дан Rob Stevenson-Leggett 7 November 2019 в 23:22
поделиться

Для сайтов, которые испытывают интенсивный трафик, , Akamai является хорошим решением для создания сайта быстрым, чрезвычайно масштабируемым, и надежным несмотря на собственную инфраструктуру. Akamai является службой (не свободный), который будет кэшировать Ваш сайт местоположения во всем мире. В моем последнем задании наш каталог электронной коммерции кэшировался через них, и наши серверы могли понизиться, и никто не будет знать, если они не пытались добавить к своей корзине. Кроме того, у нас были наши серверы изображения, понижаются однажды, и кэширование Akamai сохранило нас снова.

2
ответ дан Greg Ogle 7 November 2019 в 23:22
поделиться

Я думаю, что предпосылка является неправильной: Вы действительно действительно хотите получить slashdotted, иначе у Вас не было бы веб-сайта во-первых. Намного лучший вопрос состоит в том, как Вы обрабатываете дополнительный трафик? И даже который является действительно двумя вопросами:

  1. , Как Вы технически справляетесь с дополнительной загрузкой сервера?
  2. , Как Вы приветствуете новых пользователей, так, чтобы можно было, надо надеяться, заставить некоторых из них слоняться поблизости??
5
ответ дан Joel Coehoorn 7 November 2019 в 23:22
поделиться

Кэш... трудно. Рекордные хиты, и если скачок происходит, выписывают абсолютно статическую копию поражаемой страницы, то обслуживают это. Вырезание запросов DB от 100 до 2 с хорошей системой кэширования может пережить слабый slashdotting, но имеющий любые запросы DB вообще все еще приведет к мертвому сайту при серьезной загрузке, к которой Вы не подготовлены.

1
ответ дан Sparr 7 November 2019 в 23:22
поделиться

Я переписываю все URL, отнесенные несколькими популярными сайтами, которые будут перенаправлены через coralCDN.

пример для Apache:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_USER_AGENT} !^Googlebot
RewriteCond %{HTTP_USER_AGENT} !^CoralWebPrx
RewriteCond %{QUERY_STRING} !(^|&)coral-no-serve$
RewriteCond %{HTTP_REFERER} ^http://([^/]+\.)?digg\.com [OR]
RewriteCond %{HTTP_REFERER} ^http://([^/]+\.)?slashdot\.org [OR]
RewriteCond %{HTTP_REFERER} ^http://([^/]+\.)?slashdot\.com [OR]
RewriteCond %{HTTP_REFERER} ^http://([^/]+\.)?fark\.com [OR]
RewriteCond %{HTTP_REFERER} ^http://([^/]+\.)?somethingawful\.com [OR]
RewriteCond %{HTTP_REFERER} ^http://([^/]+\.)?kuro5hin\.org [OR]
RewriteCond %{HTTP_REFERER} ^http://([^/]+\.)?engadget\.com [OR]
RewriteCond %{HTTP_REFERER} ^http://([^/]+\.)?boingboing\.net [OR]
RewriteCond %{HTTP_REFERER} ^http://([^/]+\.)?del\.icio\.us [OR]
RewriteCond %{HTTP_REFERER} ^http://([^/]+\.)?delicious\.com
RewriteRule ^(.*)?$ http://example.com.nyud.net/$1 [R,L]
</IfModule>
7
ответ дан akraut 7 November 2019 в 23:22
поделиться

Стоит упомянуть, что умное кэширование и низкие режимы пропускной способности будут бесполезны, если у Вас просто не будет достаточного количества пропускной способности на Вашем соединении, поэтому удостоверьтесь, что соединение с Вашим сервером является достаточно толстым. Не размещайте его на своем доме соединение DSL, например.

я говорю на основе опыта о том, чтобы быть slashdotted. Это не забава, когда Вы не можете получить доступ к Интернету вообще, потому что тысячи людей одновременно пытаются загрузить фотографии компьютера Ваш сосед по дому, смонтированный в гриле George Foreman. Никакая сумма брандмауэринга не сохранит Вас.

13
ответ дан Simon Howard 7 November 2019 в 23:22
поделиться

Вот довольно длинная, но очень информативная статья о выживающих "толпах флэш-памяти".

Вот является их сценарий для ситуации их адресом предлагаемых решений:

В данной статье, мы рассматриваем вопрос масштабирования через глаза символа, который мы звоним новатору гаража. Новатор гаража является творческим, технически опытным, и амбициозным. Она имеет прекрасную идею для Следующей Большой Вещи в сети и реализует его с помощью некоторых запасных серверов, просиживающих в гараже. Сервис в порядке, время от времени привлекает новых посетителей и делает некоторый скудный доход с рекламы и подписок. Когда-нибудь, возможно, ее сайт сорвет куш. , Возможно, это достигнет первой полосы Slashdot или Digg; возможно, Valleywag или Нью-Йорк таймс упомянут его.

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

Один выход из этой загадки был включен современным сервисным вычислением.

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

9
ответ дан DOK 7 November 2019 в 23:22
поделиться

Основы:

  1. не пытаются разместить сайты большого объема в Windows, если Вы не верны гуру Windows. Это может быть сделано, но это - время по сравнению с проблемой стоимости.
  2. Использование статическое содержание (т.е. никакие запросы базы данных) везде Вы можете.
  3. Узнают о заголовках управления кэша и используют их правильно для изображений и других статических активов.
  4. По крайней мере, используйте Apache, но если Вы можете, использовать lighttpd или другой высокоэффективный веб-сервер.

реальные ответы:

  1. Действительно знают Ваш SQL и проводят время, анализируя медленные запросы. Загрузки страницы Most не должны требовать больше, чем секунда прямых запросов.
  2. Определяют, где Ваша загрузка действительно. Если это - тяжелый медиа сайт, рассмотрите контент хостинга в другом месте (как Akamai или некоторая другая служба). Если это - тяжелый базой данных сайт, рассмотрите репликацию.
  3. Знают, какая репликация будет работать на Вас. Если у Вас есть тяжелый чтением сайт, стандартный MySQL репликация, master/slave должна быть прекрасной. Если у Вас будет большое продолжение записей, Вы будете нуждаться в некоторой мультиосновной установке, как MySQL Cluster (или исследовать 'расположение каскадом' или репликацию 'водопада').
  4. , Если Вы можете, постарайтесь не называть PHP - т.е. имейте кэшируемые помехи (HTML) копия страницы (который является тем, что большую часть Wordpress, кэширующего плагины, делают). Apache намного быстрее служит статическим файлам, чем даже самое простое привет мировой Сценарий PHP.
11
ответ дан David Goodwin 7 November 2019 в 23:22
поделиться
  1. установка munin, чтобы контролировать загрузку/потребление памяти и т.д. и уведомить относительно перегрузок.
  2. установка monit для перезапуска apache2, если это отказывает
  3. установка nginx как apache2 frontend это в широком масштабе уменьшит требования к памяти под большой нагрузкой
21
ответ дан yanchenko 7 November 2019 в 23:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: