Выпустите новую версию веб-сайта ASP.NET - Лучшие практики

Если бы Вы хотите знать больше подробно, я рекомендовал бы получить sqlite источники и взглянуть на то, как это делает это. Это завершено, хотя не в масштабе больших и коммерческих баз данных с открытым исходным кодом. Если Вы хотите знать больше подробно, что я рекомендую Полное руководство SQLite, который не является только большим объяснением sqlite, но также и одной из большинства читаемых технических книг, я знаю. На стороне MySQL Вы могли учиться от , MySQL Performance Blog , а также на книге выходит на MySQL (V2) O'Reilly High Performance, которого блог является одним из авторов.

5
задан 12 September 2009 в 09:48
поделиться

6 ответов

В Подкасте о переполнении стека №63 Джефф Этвуд упоминает, как с этим справляется переполнение стека. Он говорит что-то вроде того, что они точно знают, когда низкие часы пик, и сайт в основном отключается на несколько секунд, а затем снова включается.

0
ответ дан 14 December 2019 в 13:42
поделиться

Я предполагаю, что у вас нет среды с балансировкой нагрузки с несколькими веб-серверами?

В этом случае, вероятно, лучшее, что вы могли бы сделать, это:

  1. Посмотрите на ваши журналы, и работайте, когда у вас наименьший трафик.

  2. Предполагая, что у вас есть главная страница всего сайта, измените .master, чтобы было сообщение, предупреждающее людей о том, что в течение определенного периода будет проводиться обслуживание сайта. Если вы не используете главную страницу, добавьте сообщение на свою домашнюю страницу и другие страницы с высоким трафиком.

  3. Перетащите файл app_offline.html в корень вашего сайта в назначенное время.

  4. Разверните ваши изменения.

  5. Удалите файл app_offline.html из корня.

  6. Запросите вашу домашнюю страницу и надейтесь, что она сработает.

5
ответ дан 14 December 2019 в 13:42
поделиться

Если вы используете модель веб-приложения, добавление новой DLL приведет к перезапуску приложения, так что все выполняемые операции будут прерваны, и данные сеанса и кеши истекут. Файлы cookie останутся нетронутыми, поэтому пользователи останутся авторизованными.

0
ответ дан 14 December 2019 в 13:42
поделиться

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

0
ответ дан 14 December 2019 в 13:42
поделиться

Представлены две альтернативы:

  1. Существует трюк ниндзя, о котором немногие знают, а именно наличие двух производственных сред, когда новая среда работает- и по ходу измените свои DNS-серверы, чтобы они указывали на новую среду, таким образом люди не потеряют свое состояние и будут использовать новый сайт при обновлении их кеша DNS, обычно в течение одного дня. Через день можно безопасно отключить вторую (старую) производственную среду, когда придет время обновиться снова, можно снова переключиться на эту среду asf.

  2. Чтобы сократить время простоя как можно меньше, я бы создал новую виртуальный каталог на производственном сервере с дополнительным сайтом, например test.example.com, когда он там работает, я бы изменил путь к файлу виртуального каталога www.example.com, чтобы он указывал на новый каталог, а затем удалил test.example. com. Если вы используете какое-то состояние, которое не зависит от файлов cookie или является RESTful, некоторые пользователи потеряют свое состояние при перезапуске пула приложений. Всегда объявляйте перед тем, как сделать это, чтобы пользователи были готовы, и, как отмечали другие, лучше всего делать это, когда трафик настолько низкий, насколько это возможно.

0
ответ дан 14 December 2019 в 13:42
поделиться

Я обычно следую примерно так:

  1. Создать новый каталог для обновленного приложения (wwwroot / myAppV1 ​​/, wwwroot / myAppV2 / и т. д.)
  2. Настройте новый виртуальный каталог в главном приложении, чтобы он указывал на новое приложение (используйте guid для виртуального каталога, если вы заботитесь о безопасности)
  3. Протестируйте приложение через виртуальный каталог
  4. Добавьте файл app_offline.htm в текущее рабочее приложение
  5. Перенаправьте каталог веб-сайта в IIS в новый каталог, когда будете довольны это работает

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

1
ответ дан 14 December 2019 в 13:42
поделиться
Другие вопросы по тегам:

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