Тут интересная сиутация второй день подряд, может подскажешь шо..
Есть сервис, который отдает зип-файлики. Перва собирает ХМЛ-ку потом заворачивает в зип и потом отдает.
Поверх сервиса работает uWSGI.Обеспечивает некую многопоточность.
Поверх всего этого добра - работает NGINX.
И в половине случаев - всё хорошо,файлики доходят до потребителя(в нашем случае робот Яндекс.Маркета).
Но в другой половине случаев - uWSGI отдает файлик размером 2мб, на nginx - уже отдает файлик размером в несколько КБ.И причем отдает не сразу, а через некоторое время.
В логах uWSGI вижу что он передает то что ожидается, в логах NGINX - пустое тело ответа.
Косяк где то на уровне их сопряжения... но хде?? Всё облазил, всё покрутил. Сбоит без всякой очевидной причины. Может отработать три запроса нормально, а на четвертый вернуть пустоту.
Пример логирования с подключеным lua
5.45.235.119 - - [20/Feb/2018:20:40:20 +0500] "GET /my_url/1/ HTTP/1.1" 200 15941 "-" "YandexMarket/1.9-2 (compatible; http://market.yandex.ru)" 94.683 <"-" >""
5.45.235.73 - - [20/Feb/2018:20:42:11 +0500] "GET /my_url/2/ HTTP/1.1" 200 15938 "-" "YandexMarket/1.9-2 (compatible; http://market.yandex.ru)" 104.958 <"-" >""
в то же время в uWSGI
[pid: 6261|app: 0|req: 36/88] 5.45.235.119 () {36 vars in 467 bytes} [Tue Feb 20 20:38:45 2018] GET /my_url/1/ => generated 1605423 bytes in 34680 msecs (HTTP/1.1 200) 5 headers in 308 bytes (8 switches on core 0)
[pid: 6261|app: 0|req: 37/90] 5.45.235.73 () {36 vars in 464 bytes} [Tue Feb 20 20:40:26 2018] GET /my_url/2/ => generated 2030314 bytes in 44940 msecs (HTTP/1.1 200) 5 headers in 311 bytes (10 switches on core 2)
Есть сервис, который отдает зип-файлики. Перва собирает ХМЛ-ку потом заворачивает в зип и потом отдает.
Поверх сервиса работает uWSGI.Обеспечивает некую многопоточность.
Поверх всего этого добра - работает NGINX.
И в половине случаев - всё хорошо,файлики доходят до потребителя(в нашем случае робот Яндекс.Маркета).
Но в другой половине случаев - uWSGI отдает файлик размером 2мб, на nginx - уже отдает файлик размером в несколько КБ.И причем отдает не сразу, а через некоторое время.
В логах uWSGI вижу что он передает то что ожидается, в логах NGINX - пустое тело ответа.
Косяк где то на уровне их сопряжения... но хде?? Всё облазил, всё покрутил. Сбоит без всякой очевидной причины. Может отработать три запроса нормально, а на четвертый вернуть пустоту.
Пример логирования с подключеным lua
5.45.235.119 - - [20/Feb/2018:20:40:20 +0500] "GET /my_url/1/ HTTP/1.1" 200 15941 "-" "YandexMarket/1.9-2 (compatible; http://market.yandex.ru)" 94.683 <"-" >""
5.45.235.73 - - [20/Feb/2018:20:42:11 +0500] "GET /my_url/2/ HTTP/1.1" 200 15938 "-" "YandexMarket/1.9-2 (compatible; http://market.yandex.ru)" 104.958 <"-" >""
в то же время в uWSGI
[pid: 6261|app: 0|req: 36/88] 5.45.235.119 () {36 vars in 467 bytes} [Tue Feb 20 20:38:45 2018] GET /my_url/1/ => generated 1605423 bytes in 34680 msecs (HTTP/1.1 200) 5 headers in 308 bytes (8 switches on core 0)
[pid: 6261|app: 0|req: 37/90] 5.45.235.73 () {36 vars in 464 bytes} [Tue Feb 20 20:40:26 2018] GET /my_url/2/ => generated 2030314 bytes in 44940 msecs (HTTP/1.1 200) 5 headers in 311 bytes (10 switches on core 2)