Два маленьких сервера httpd или один большой? - PullRequest
1 голос
/ 02 августа 2011

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

Сейчас я использую Rails 3.1с NGINX и Passenger.

Пока что я настроил систему так, чтобы ВСЕ активы обслуживались через домен, аналогичный тому, который есть у меня сейчас (это не поддомен, а другой домен ...таким образом, любые куки с реального домена не будут передаваться в запросах).Сервер NGINX имеет следующие конфигурации:

server {
listen 80;
server_name similarwebsite.com;
root /path/to/static/files;
}

server {
listen 80;
server_name website.com;
root /path/to/rails/files/public;
}

Я считаю, что гораздо лучше иметь отдельную среду для ресурсов, чем в Rails (мне действительно не нравятся все абстракции Rack, которые собираютсятолько для доставки нескольких простых ресурсов).

Теперь у меня остается вопрос: нужно ли разделить статические файлы на другой HTTP-сервер, например, thttpd?На данный момент они оба работают на одной машине, но все ресурсы будут доставляться через thttpd, а все рельсы через nginx.Экземпляр thttpd может работать на другом IP-адресе или порте.Просто интересно, если это сделает это еще быстрее.

Есть идеи?Я иду слишком далеко?

Ответы [ 3 ]

1 голос
/ 02 августа 2011

Хорошая идея отделить статический контент.Возможно, вам следует пойти еще дальше и использовать CDN (сеть доставки контента).Я использовал Akamai и Amazon Cloud Front, у каждого из которых есть расходы, связанные с их производительностью.Есть и недорогие (бесплатные!?) Альтернативы.Смотрите вики-страницу для CDN для получения дополнительной информации: http://en.wikipedia.org/wiki/Content_delivery_network

1 голос
/ 02 августа 2011

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

0 голосов
/ 15 августа 2012

Оказывается, я только что использовал один http-сервер NGINX для обслуживания как динамических, так и статических файлов. Статические файлы находились в другом домене, и это решение было лучшим с наименьшим объемом работы по настройке.

...