2011-12-16 7 views
2

У меня есть сайт ASP.Net MVC, работающий на общем хосте IIS7, который позволяет пользователям создавать собственную целевую страницу. Веб-сайт позволяет пользователям редактировать контент, стиль (редактировать css через пользовательский интерфейс), а также загружать изображения.Azure Website с пользователем Редактируемый контент

Я рассматриваю переход на Windows Azure для улучшения масштабируемости и повышения резервных копий баз данных (с помощью SQL Azure Data синхронизации см http://social.technet.microsoft.com/wiki/contents/articles/sql-azure-backup-and-restore-strategy.aspx, я ограничен в планы резервного копирования SQL, предлагаемые с моим хозяином)

Один камень преткновения является, т.к. клиенты могут загружать изображения и редактировать файлы css, эти файлы необходимо хранить в хранилище blob или в базе данных (любые другие варианты?). Я не хочу использовать базу данных, потому что хранилище базы данных, поскольку оно дороже.

Однако, если эти файлы хранятся в хранилище blob, как это повлияет на производительность веб-сайта, учитывая, что файлы (css, images) извлекаются из хранилища blob вместо чтения с того же диска, что и веб-сайт? Я знаю, что кеширование браузера уменьшит запросы на эти файлы, но как насчет запросов в первый раз?

ответ

0

В дополнение к блочному хранению также есть Windows Azure Content Delivery Network (CDN). Поскольку у вас есть приложение на основе браузера, это может быть быстрее, чем хранилище blob.

1

эти файлы должны быть сохранены в хранилище больших двоичных объектов или в базе данных (любые другие варианты?).

NO. Других вариантов нет.

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

Единственное исполнение «Деградация» - это когда пользователь сохранит изменения. И не тогда, когда файлы извлекаются. Но вы должны быть немного более гибкими, а затем с регулярным подходом. Вместо того, чтобы иметь URL-адреса для CSS и изображений, указывающих на файловую систему (т. Е. /styles/site.css), вы должны указывать их непосредственно на blob (то есть http://account.blob.core.windows.net/styles/site.css).

Или еще лучше - в качестве оливкового предложения вы можете включить CDN для учетной записи памяти blob и отформатировать URL-адреса CSS/Image, чтобы указать на версию CDN. Таким образом, единственное влияние производительности CSS и изображений в blob будет лучше и лучше.

Обратите внимание: у вас может быть свой собственный домен, связанный с хранилищем blob и с CDN, поэтому не будет никаких модных URL-адресов, таких как «blob.core.windows.net».

3

Использование памяти blob для css и изображений фактически увеличит производительность вашего сайта. Как заявил Астайков, у блобов есть свой собственный URL-адрес, отдельно от вашего URL-адреса развертывания. Это означает, что вы тратите меньше трафика через IIS-сервер своей веб-роли, тем самым уменьшая общую нагрузку на этот экземпляр сервера.

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

Что касается редактирования изображений или файлов css, это правда, что код веб-приложения должен будет выталкивать новый контент в blob, что может добавить немного задержки. Однако эта задержка может быть или не быть заметной (в зависимости от нагрузки, которую вы вкладываете в ваше веб-приложение). Я бы подумал, что это должна быть редкая операция, по сравнению с обслуживанием содержимого.

0

Теперь вы можете использовать веб-сайты Windows Azure, и вам не придется беспокоиться о переходе на базы данных SQL Azure, если вы этого не хотите, - по существу, он по сути работает так же, как и то, что вы сейчас используете через IIS7. Вы можете управлять всем с помощью WebMatrix, ваш MVC сайт все еще может написать в «файловой системы» (для вашего клиента загруженные файлы CSS)

You can find more about Windows Azure Websites here.