Сайт Azure с редактируемым пользователем контентом - PullRequest
2 голосов
/ 17 декабря 2011

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

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

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

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

Ответы [ 4 ]

3 голосов
/ 17 декабря 2011

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

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

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

1 голос
/ 17 декабря 2011

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

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

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

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

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

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

0 голосов
/ 16 мая 2013

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

Подробнее о веб-сайтах Windows Azure можно узнать здесь.

0 голосов
/ 17 декабря 2011

В дополнение к хранилищу BLOB-объектов также существует Сеть доставки контента Windows Azure (CDN) .Поскольку у вас есть приложение на основе браузера, оно может быть быстрее, чем хранилище больших двоичных объектов.

...