Varnish: Хит бездействующий тайм-аут при попытке потоковой передачи mp3 - PullRequest
0 голосов
/ 19 марта 2019

У меня проблема с установкой Varnish, когда я пытаюсь транслировать mp3-файлы через Varnish Cache 4. Это сценарий.

У меня есть веб-сайт Drupal, на котором редакторы могут загружать mp3-файлы.Эти mp3-файлы перечислены в разделе веб-сайта, и конечный пользователь может прослушивать их с помощью проигрывателя HTML 5.Стек: Varnish 4 <-> Nginx 1.11 <-> Drupal 7 на Debian Jessie под GNU / Linux.Varnish и Nginx устанавливаются вместе с пакетами Debian.

Моя конфигурация Varnish находится здесь: https://pastebin.com/8Kw1b2mL

Когда я пытаюсь слушать mp3 напрямую через Nginx, все работает хорошо: плеер загружает файл, и ямогу слушать mp3.Если я попытаюсь сделать то же самое через Varnish, плеер останется загруженным, а mp3 не запустится.Я попытался загрузить mp3-файл, используя curl, и мой запрос уходит в тайм-аут.

Я посмотрел на varnishlog, и вот вывод:

*   << Request  >> 1409738
-   Begin          req 1246052 rxreq
-   Timestamp      Start: 1552587068.541997 0.000000 0.000000
-   Timestamp      Req: 1552587068.541997 0.000000 0.000000
-   ReqStart       93.147.150.135 15330
-   ReqMethod      GET
-   ReqURL         /sites/default/files/audio/radio_interviews/20180927-rds-gr_rds_1700-170602593m_1.mp3
-   ReqProtocol    HTTP/1.1
-   ReqHeader      Host: www.xxx.it
-   ReqHeader      Connection: keep-alive
-   ReqHeader      Pragma: no-cache
-   ReqHeader      Cache-Control: no-cache
-   ReqHeader      Accept-Encoding: identity;q=1, *;q=0
-   ReqHeader      User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.119 Safari/537.36
-   ReqHeader      chrome-proxy: frfr
-   ReqHeader      Accept: */*
-   ReqHeader      Referer: http://www.xxx.it/path/to/page/that/hosts/mp3file
-   ReqHeader      Accept-Language: en-US,en;q=0.9,es;q=0.8,fr;q=0.7,it;q=0.6
-   ReqHeader      Cookie: SESScookieagreed=2; has_js=1; _ga=GA1.2.950111086.1552579260; _gid=GA1.2.112403313.1552579260; __atuvc=2%7C11; _gat_UA-57096474-1=1
-   ReqHeader      Range: bytes=0-
-   ReqHeader      X-Forwarded-For: 93.147.150.135
-   VCL_call       RECV
-   VCL_acl        NO_MATCH allowed_monitors
-   ReqUnset       X-Forwarded-For: 93.147.150.135
-   ReqHeader      X-Forwarded-For: 93.147.150.135, 93.147.150.135
-   ReqURL         /sites/default/files/audio/mp3s/file.mp3
-   ReqHeader      x-range: bytes=0-
-   ReqUnset       Cookie: SESScookieagreed=2; has_js=1; _ga=GA1.2.950111086.1552579260; _gid=GA1.2.112403313.1552579260; __atuvc=2%7C11; _gat_UA-57096474-1=1
-   VCL_return     hash
-   ReqUnset       Accept-Encoding: identity;q=1, *;q=0
-   VCL_call       HASH
-   ReqUnset       Range: bytes=0-
-   VCL_return     lookup
-   Hit            229378
-   VCL_call       HIT
-   VCL_return     fetch
-   VCL_Error      change return(fetch) to return(miss) in vcl_hit{}
-   VCL_call       MISS
-   VCL_return     fetch
-   Link           bereq 1409739 fetch
-   Timestamp      Fetch: 1552587068.542520 0.000523 0.000523
-   RespProtocol   HTTP/1.1
-   RespStatus     200
-   RespReason     OK
-   RespHeader     Server: nginx/1.11.5
-   RespHeader     Date: Thu, 14 Mar 2019 18:11:08 GMT
-   RespHeader     Last-Modified: Fri, 28 Sep 2018 08:26:56 GMT
-   RespHeader     ETag: "5bade5d0-a0b94"
-   RespHeader     Content-Type: audio/mpeg
-   RespHeader     Content-Length: 658324
-   RespHeader     X-Cacheable: YES
-   RespHeader     X-Varnish: 1409738
-   RespHeader     Age: 0
-   RespHeader     Via: 1.1 varnish-v4
-   VCL_call       DELIVER
-   RespHeader     X-Cache: MISS
-   RespHeader     X-Cookie:
-   RespHeader     grace:
-   RespHeader     X-Varnish-Server: www.xxx.it
-   VCL_return     deliver
-   Timestamp      Process: 1552587068.542536 0.000539 0.000016
-   RespHeader     Accept-Ranges: bytes
-   Debug          "RES_MODE 2"
-   RespHeader     Connection: keep-alive
-   Debug          "Hit idle send timeout, wrote = 247608/658701; retrying"
-   Debug          "Write error, retval = -1, len = 411093, errno = Resource temporarily unavailable"
-   Timestamp      Resp: 1552587188.539239 119.997242 119.996703
-   ReqAcct        733 0 733 377 658324 658701
-   End

Я не лакгуру », но кажется, что ошибка:

-   Debug          "Hit idle send timeout, wrote = 247608/658701; retrying"
-   Debug          "Write error, retval = -1, len = 411093, errno = Resource temporarily unavailable"

Я много искал в Google, но ничего не нашел об этом, за исключением проблемы с тайм-аутом, которая мне не кажется из-за тайм-аутанастройки установлены на 60 с (first_byte), так же, как Nginx.

Любая помощь действительно приветствуется.Если вам нужна другая информация, дайте мне знать.

Заранее спасибо Daniele

...