Насколько загрузка изображений или их сохранение на сервере влияет на нагрузку на сервер? - PullRequest
0 голосов
/ 19 июня 2009

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

А как насчет сохранения изображений на сервер?

Сделает ли веб-сайт, который создает большую нагрузку на сервер, более уязвимым для атак DOS?

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

Редактировать: Просто ради измерения, и это, вероятно, немного преувеличено, но я просто хочу понять ... скажем, 10000 изображений в час, размером около 700 КБ 1MB

Ответы [ 4 ]

2 голосов
/ 19 июня 2009

Вы можете попробовать создать CDN (сеть доставки контента). Направьте их на сервер или серверы для обработки загрузки.

Обработка файлов и их репликация на кластер файловых серверов (CDN)

Затем верните ссылку на серверы CDN, которые только возвращают файл.

Сценарий бонуса:

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

0 голосов
/ 19 июня 2009

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

Разумное решение, которое я видел реализованным, заключается в использовании отдельного медиа-сервера с базовым URL-адресом, настраиваемым в вашем приложении или сайте. Таким образом, вы можете договориться о другой скорости пропускной способности с другого хоста в другом месте в Интернете, не беспокоясь о том, поддерживает ли этот хост технологию, которую вы используете для разработки своего приложения. Веб-хостинг ASP.net, как правило, намного дороже, чем хостинг vanilla linux, и требует большего контроля над серверной средой. Разместите ваше приложение ASP.net в Rich Guy Feature Hosting, LLC, а сервер изображений - в Destitute Nerd Basic Hosting, Inc., поскольку все, что он делает, - обслуживает немые файлы.

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

0 голосов
/ 19 июня 2009

Загрузка изображений с веб-сервера практически не отличается от загрузки любого другого файла с веб-сервера; в этом смысле, да, загрузка слишком большого количества изображений может замедлить работу сервера и / или привести к DOS, но не потому, что вы работаете с изображениями, а скорее потому, что вы достигаете максимальной пропускной способности вашего веб-сервера. (В прошлый раз, когда я играл с веб-сервером IIS в медленном приложении, он мог обрабатывать> 160 запросов в секунду; и, вероятно, мог бы делать больше, если бы загружал только статические файлы)

Если вас беспокоит причина загрузки изображений на сервер приложений, вы можете рассмотреть вопрос о переносе статического контента на другой сервер; скажем, что images.mydomain.com находится на другой машине, а не на mydomain.com.

Еще одна нота; если все изображения имеют форму значков - как правило, небольшого размера, вы можете посмотреть спрайт-лист css, чтобы перейти, скажем, с 20 HTTP-GET для конкретных изображений к ~ 1.

Реакция на редактирование: 10000 изображений в час при скорости 700 Кбайт каждый будет примерно 2-3 в секунду (без учета отклонений), что потребует нескольких мегабит в секунду для загрузки полосы пропускания. В таком случае вы, вероятно, захотите его на другом сервере; на кластере с балансировкой нагрузки; или на CDN. При такой скорости накладные расходы на обработку ЦП не приведут к ускорению DOS, но ограничения пропускной способности могут быть.

0 голосов
/ 19 июня 2009

Насколько велики изображения? Сколько вы будете обрабатывать? Это создаст нагрузку на веб-сервер, а также потребует пропускной способности. Что касается степени стресса, невозможно сказать, не зная больше информации.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...