Какие технические соображения должны беспокоить системного / сетевого администратора, когда сайт попадает на сайты социальных закладок / общего доступа? - PullRequest
1 голос
/ 15 сентября 2008

Причина, по которой я спрашиваю, состоит в том, что переполнение стека было с косой чертой и с измененной редакцией .

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

Ответы [ 5 ]

1 голос
/ 15 сентября 2008

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

Более сложные решения основаны на возможности быстрого масштабирования. Во-первых, это проблема программного обеспечения (можете ли вы подключиться к БД на другом сервере, можете ли вы выполнить балансировку нагрузки). Во-вторых, ваше хостинговое решение должно поддерживать быстрое расширение. На ум приходит Amazon EC2 или, может быть, slicehost. С помощью обеих служб вы можете легко запускать новые экземпляры («Давайте перенесем базу данных на другой сервер») и расширять ваши экземпляры («Давайте обновим сервер БД до 4 ГБ ОЗУ»).

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

1 голос
/ 15 сентября 2008

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

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

Для абсурдно высокого трафика рассмотрите возможность переключения некоторых динамических страниц на статические.

Наличие серверной архитектуры, которая может масштабироваться, также помогает. Общие хосты обычно не масштабируются. Отдельная выделенная машина обычно не масштабируется. Может помочь использование чего-то вроде EC2 от Amazon, особенно если вы планируете кластер серверов с самого начала (даже если ваш кластер - один компьютер).

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

0 голосов
/ 15 сентября 2008

Нагрузка увеличивается, как уже упоминалось в других ответах.

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

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

0 голосов
/ 15 сентября 2008

Некоторые идеи (из того, что я использовал в прошлых и текущих проектах): Для повышения производительности (при необходимости) вы можете поместить кеширующий сквид с обратным проксированием перед вашим сервером. Конечно, это работает только в том случае, если у вас нет сеансовых ключей и страницы несколько статичны (это значит, что они меняются раз в час или около того) и не персонализированы. С помощью Squid вы можете увеличить раздутую и медленную CMS, такую ​​как typo3, таким образом, имея производительность статических веб-сайтов с комфортом CMS.

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

И если вы можете тратить несколько (три цифры в месяц) долларов, вы также можете использовать сеть доставки контента. Благодаря этому вы автоматически получаете масштабирование, высокую доступность и низкую задержку для своих пользователей. Конечно, ваши страницы должны быть кэшируемыми, поэтому сеансовые ключи и персонализированные страницы запрещены. При тщательном проектировании с учетом CDN вы можете, по крайней мере, кэшировать НЕКОТОРЫЙ контент, такой как фотографии, видео и статические материалы.

0 голосов
/ 15 сентября 2008

Разработчику приложения необходимо подумать о масштабировании (более крупные машины с большим количеством ядер и более высокой производительностью) и / или о масштабировании (распределение рабочей нагрузки по нескольким системам). ИТ-специалист должен решить, как лучше всего это поддержать. Сеть - это то, на что вы смотрите вначале, потому что, очевидно, все движется поверх нее. Начиная с границы, это обычно означает, что балансировщики сетевой нагрузки и резервные маршрутизаторы обслуживаются несколькими провайдерами. Вы также можете посмотреть на географические службы кэширования и приложения, такие как cachefly.

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

...