nginx proxy MISS

Slawa Olhovchenkov slw на zxy.spb.ru
Пн Авг 10 16:33:22 UTC 2020


On Mon, Aug 10, 2020 at 07:13:22PM +0300, Maxim Dounin wrote:

> > > Я бы ещё внимательно посмотрел на тайминги.  Непонятно, что за 
> > > времена приведены в логах, но $request_time там точно нет, а если 
> > 
> > $request_time $connection $upstream_cache_status $upstream_connect_time $upstream_response_time $upstream_bytes_received
> > 
> > > запросы общаются с бэкендом одновременно и proxy_cache_lock не 
> > 
> > да не вопрос.
> > 
> > > используется - то и MISS'ов может быть одновременно много, при 
> > > этом завершаться запросы могут в заметно разное время.
> > 
> > не понимаю. вот есть первый запрос, окончился в 21:01:48, начался ну пусть в 21:01:47. апстрим отдался почти мгновенно.
> > теперь на 5 дней должен быть хит независимо от. а в логе то хит то мисс.
> 
> Дальше имеет смысл смотреть на:
> 
> 1. Откуда вообще логи, с одной ли машины?  Такой разброс времени 
> при логгировании можно, конечно, получить при буферизированном 
> логгировании, но выглядит подозрительно.

с одной, буферезированно

> 2. Что на самом деле в заголовках ответов бэкенда?  Скажем, 
> наличие какого-нибудь Vary легко объясняет наблюдаемый эффект.  

я поищу объект в кеше на диске.
бакэнд -- ceph radosgw, он довстаточно тупой, кмк и ничего такого
выдавать не должен.
у типичного объекта заголовки выглядят так:

KEY:
http://rgw/xxx....xxx/720p_00480.ts
HTTP/1.1 200 OK
Content-Length: 925524
Accept-Ranges: bytes
Last-Modified: Tue, 28 Jul 2020 11:24:38 GMT
x-rgw-object-type: Normal
ETag: "872d2e58236625d418f4c5b5b95938a6"
x-amz-request-id: tx000000000000004e0151a-005f316581-a67b17a-default
Access-Control-Allow-Origin: https://some.site
Vary: Origin
Access-Control-Allow-Methods: GET
Access-Control-Expose-Headers: Content-Length,Content-Type
Content-Type: video/MP2T
Date: Mon, 10 Aug 2020 15:19:29 GMT
Connection: close

это что, Vary: Origin гадит? фильтрануть его с бэкенда, что ли?

> Особенно в этом плане характерны запросы от одного клиента:
> 
> > 85.249.93.174 :61175 [01/Aug/2020:21:02:42 +0300]   "GET /720p_02815.ts HTTP/1.1" 200 616316 0.033 177157 MISS 0.000 0.005 616032
> > 85.249.93.174 :61175 [01/Aug/2020:21:04:11 +0300]   "GET /720p_02815.ts HTTP/1.1" 200 616316 0.074 177157 HIT - - -
> 
> 3. Ну и проверить, что вообще в ключе кэширования, не добавлено ли 
> там чего-либо клиентоспецифичного случайно.

вообще не модифицировалось

> Если не поможет - смотреть debug log'и, там всё должно быть 
> плюс-минус очевидно.

это продакшен, с дебаг логами боюсь все станет раком (а так бы я прямо
с них и начал бы).


Подробная информация о списке рассылки nginx-ru