У меня нет комментариев или нет комментариев для ответа @ max_i, поэтому я отправляю другой ответ, чтобы проверить его.
Принимаемый ответ Кетолы не совсем ошибочен, возможно, он просто устарел, и, возможно, это было верно для более старых версий лака.В частности, эта деталь:
Varnish отправляет все запросы на сервер. То есть он не ставит в очередь другие запросы и выдаёт только один запрос на бэкэнд и использует свой ответ для всех.
После независимо тестирования это сам, используя стандартную установку Varnish 4.1 LTS и Apache 2.4, я создал основной PHP файл, который содержал следующее:
<?php sleep(5); echo 'hello world!';
Затем используется ab для проверки цикла запроса HTTP используя 50 запросов при 5 параллелизмах. Результаты показали, что, хотя Ларниш принимал каждое соединение, только один запрос был когда-либо сделан на бэкэнд, который, как и ожидалось, занял примерно 5 секунд для разрешения. Каждое соединение лака впоследствии должно было дождаться этого минимального периода до получения ответа.
Недостатком этого является, конечно, то, что запросы после первого «поставлены в очередь» позади него, но это, конечно, незначительная проблема по сравнению со всеми 50 запросами, которые сразу попадают в бэкэнд (или в случае моего теста , с параллелизмом 5).
спасибо Я прочитаю больше о настройке времени в часах – Pluto1010
Я заметил, что в моем ответе у меня был непереданный символ. Исправлено. Раньше не было смысла. =) – Ketola
Хм еще есть вопрос, что произойдет, если кеш пуст после отключения электроэнергии или сбоя. наши сайты сильно посещаются, что приводит к многочисленным запросам в секунду. Я думаю, что это может убить наших веб-серверов, если у лака есть пустой кеш. Вот почему я надеюсь, что лак позволит равным запросам ждать и выполнять только один раз. после этого остальные получат ответ от кеша. поэтому серверы будут делать запрос, например, домашнюю страницу только один раз. а не 1000 раз параллельно. любые идеи по этому вопросу? – Pluto1010