Первые дни онлайн: как не уничтожить Ваш сайт

Благодаря замечательному ответу Scott Pack (я не знал, как сделать это с ssh прежде), я могу предложить это улучшение (если bash Ваша оболочка). Это добавит параллельное сжатие, индикатор хода выполнения и проверит целостность через сетевой канал:

tar c file_list |
    tee >(sha512sum >&2) |
    pv -prab |
    pigz -9 |
    ssh [user@]remote_host '
        gunzip |
        tee >(sha512sum >&2) |
        tar xC /directory/to/extract/to
    '

pv хорошая программа средства просмотра прогресса для Вашего канала, и pigz параллель gzip программа, которая использует столько потоков, сколько Ваш ЦП имеет по умолчанию (я верю до 8 макс.). Можно настроить уровень сжатия для лучше установки отношению ЦП, чтобы объединить bandwith в сеть и выгрузить его с pxz -9e и pxz -d, если у Вас есть намного больше ЦП, чем пропускная способность. Только необходимо проверить, что две суммы соответствуют после завершения.

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

Демонстрационный вывод:

6c1fe5a75cc0280709a794bdfd23d7b8b655f0bbb4c320e59729c5cd952b4b1f84861b52d1eddb601259e78249d3e6618f8a1edbd20b281d6cd15f80c8593c3e  -                     ]
 176MiB [9.36MiB/s] [9.36MiB/s] [                                            <=>                                                                        ]
6c1fe5a75cc0280709a794bdfd23d7b8b655f0bbb4c320e59729c5cd952b4b1f84861b52d1eddb601259e78249d3e6618f8a1edbd20b281d6cd15f80c8593c3e  -

Для блочных устройств:

dd if=/dev/src_device bs=1024k |
    tee >(sha512sum >&2) |
    pv -prab |
    pigz -9 |
    ssh [user@]remote_host '
        gunzip |
        tee >(sha512sum >&2) |
        dd of=/dev/src_device bs=1024k
    '

, Очевидно, удостоверьтесь, что они - тот же размер или предел с количеством =, пропускают =, ищут =, и т.д.

, Когда я скопирую файловые системы этот путь, я буду часто сначала dd if=/dev/zero of=/thefs/zero.dat bs=64k && sync && rm /thefs/zero.dat && umount /thefs для обнуления большей части неиспользуемого места, которое ускоряет xfer.

14
задан 30 April 2009 в 12:21
6 ответов
  1. Кэш так, как Вы можете. Любые страницы, которые динамично создаются, должны кэшироваться так, чтобы пользователи получили статическую версию. В компонентах страницы, которые запрашивают дб, должен также кэшироваться.
  2. Попытайтесь использовать внешний сервис как Amazon S3 для обслуживания изображений и мультимедиа (или иметь его готовый использовать, если сайт внезапно поражен тонной трафика).

Ввод в эксплуатацию постепенно может работавший для SOF и SF, потому что у них уже были встроенная реклама и спрос, из-за популярности Jeff и блогов Joel. Если у Вас нет почти гарантируемой базы пользователей как, они сделали, то ввод в эксплуатацию постепенно мог быть фатальным.

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

11
ответ дан 2 December 2019 в 21:08
  • 1
    Я имел в виду сессии, но мои пальцы означали соединения. Исправленный. –  mathieu 30 April 2009 в 12:22

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

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

Вы сделали, загружаются, протестировал Вашу систему? Инструменты как ApacheBench и Осада неоценимы.

Вся Ваша конфигурация в svn? Ваше развертывание автоматизировано? Вы будете радоваться этому, когда необходимо будет развернуть наше приложение к 2-му серверу.

5
ответ дан 2 December 2019 в 21:08
  • 1
    я согласился с нагрузочными тестами, у нас был веб-сайт, что мы пропустили тестирование, потому что мы были на жестком сроке, и это возвратилось и бухта на нашей заднице. И должен был сделать некоторое лужение, в то время как сайт был жив для снижения загрузки сервера в управляемое состояние (мы поражаем 200% в загрузку ЦП с 4 выделенными серверами ЦП), –  Gabriel Solomon 2 May 2009 в 15:35

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

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

1
ответ дан 2 December 2019 в 21:08

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

Знание, где проблема, существенно уменьшит время, которое требуется для ответа. Я видел, что слишком много сайтов запускаются, не контролируя никакого вида с намерением, что он будет настроен позже... после того, как огонь отсутствует. Это глубоко неправильно.

1
ответ дан 2 December 2019 в 21:08

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

1
ответ дан 2 December 2019 в 21:08

Некоторые поставщики услуг хостинга позволяют Вам тестировать частные серверы с макс. способностью некоторое время и затем обосновываться на разумной способности после пробного периода.

DreamHost является одним примером:
http://www.dreamhost.com/hosting-vps.html

0
ответ дан 2 December 2019 в 21:08

Теги

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