Назад | Перейти на главную страницу

Кеширование огромных файлов лаком. Это жизнеспособно?

У меня есть один сервер, который предоставляет доступ к нескольким сотням файлов. Все они действительно большие (у некоторых больше 10 ГБ). Эти файлы не изменяются и доступны только для чтения, но мне нужно предоставить к ним доступ через WAN.

Я хочу сделать доступ быстрее, используя обратный прокси-сервер, работающий рядом с моими пользователями. Например:

Я знаю, что это тривиальная ситуация, но у меня не будет большого трафика, моя проблема больше связана с размерами самих файлов. Я читал что-то о том, что у Squid проблемы с кешированием файлов размером более 2 ГБ. Сталкивается ли Varnish с такими же проблемами?

Спасибо за любые мысли по этому поводу.

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

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

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

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

Squid требует ./configure --with-large-files для поддержки объектов размером более 2 ГБ (по умолчанию должен быть включен в пакетах Squid Debian / Ubuntu).

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