Re: reverse proxy + mysql + video
копать вниз.. к центру Земли.. извините, не удержался ) >> Просто достать данные из БД не проблема есть модуль nginx-mysql-module. Но как заставить закэшировать данные, и дать возможность перемотки видео в плеере не представляю. а в чем проблема? откуда Вы берете видео - не принципиально 31 марта 2016 г., 18:45 пользователь tepkuh написал: > Коллеги, > Хочется странного ;) Собственно задача следующая: > Есть база данных в моём случаи mysql. В ней хранятся видео файлы. Хочется > чтобы nginx доставал эти файлы из БД, кэшировал их и передавал дальше > клиенту. Просто достать данные из БД не проблема есть модуль > nginx-mysql-module. Но как заставить закэшировать данные, и дать > возможность > перемотки видео в плеере не представляю. > > Подскажите куда копать, плиз > > Posted at Nginx Forum: > https://forum.nginx.org/read.php?21,265759,265759#msg-265759 > > ___ > nginx-ru mailing list > nginx-ru@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- best reguards Paul Sin ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: HTTPS грузит только одно ядро процессора
Спасибо большое, Максим. Стало понятно, куда копать, сейчас результаты тестов оправдывают ожидания. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,265719,265777#msg-265777 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: HTTPS грузит только одно ядро процессора
> > Результаты тестов http и https отличаются на два порядка.Куда > копать? > > Заранее спасибо! > > А чем тестируете и как? Тестирую стандартно, с помощью Apache Benchmark (ab) Posted at Nginx Forum: https://forum.nginx.org/read.php?21,265719,265776#msg-265776 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: your mail
Hello! On Thu, Mar 31, 2016 at 11:49:44PM +0300, Vasil Mikhalenya wrote: > aio threads не используется > sendfile включен > > спасибо, будем искать корреляцию > > известны ли типичные причины такого поведения клиентов? Совсем типичный пример - когда пользователь не дожидается окончания загрузки страницы, и закрывает браузер и/или конкретное окно/вкладку в нём. В результате загрузка недогруженных ещё ресурсов - останавливается в непредсказуемых местах. Собственно, это вот этот вопрос из FAQ, вид сбоку: http://nginx.org/en/docs/faq/accept_failed.html -- Maxim Dounin http://nginx.org/ ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: your mail
aio threads не используется sendfile включен спасибо, будем искать корреляцию известны ли типичные причины такого поведения клиентов? 2016-03-31 23:01 GMT+03:00 Maxim Dounin : > Hello! > > On Thu, Mar 31, 2016 at 10:14:11PM +0300, Vasil Mikhalenya wrote: > > > не похоже что все так просто, > > > > на 1300K записей в access логе, 10K записей с 200 и 0 body_bytes_sent, из > > них 1K уникальных ip (соответственно клиентов) > > Т.е. чуть меньше, чем 1% запросов. В зависимости от конкретного > вида нагрузки на сервер - это может быть вполне нормальным. > Посмотрите error log на уровне info, там, скорее всего, будут > соответствующие ошибки записи. > > > какие еще варианты возможны? > > Ещё возможно некорректное логгирование при использовании "aio > threads; sendfile on;" на линуксе, если клиент закрывает > соединение до того, как тред успел сообщить в основной процесс, > сколько байт отправил sendfile(). Но вероятность такого события - > на порядки меньше. > > -- > Maxim Dounin > http://nginx.org/ > > ___ > nginx-ru mailing list > nginx-ru@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > -- Best regards, Vasil Mikhalenya ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: your mail
Hello! On Thu, Mar 31, 2016 at 10:14:11PM +0300, Vasil Mikhalenya wrote: > не похоже что все так просто, > > на 1300K записей в access логе, 10K записей с 200 и 0 body_bytes_sent, из > них 1K уникальных ip (соответственно клиентов) Т.е. чуть меньше, чем 1% запросов. В зависимости от конкретного вида нагрузки на сервер - это может быть вполне нормальным. Посмотрите error log на уровне info, там, скорее всего, будут соответствующие ошибки записи. > какие еще варианты возможны? Ещё возможно некорректное логгирование при использовании "aio threads; sendfile on;" на линуксе, если клиент закрывает соединение до того, как тред успел сообщить в основной процесс, сколько байт отправил sendfile(). Но вероятность такого события - на порядки меньше. -- Maxim Dounin http://nginx.org/ ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: your mail
не похоже что все так просто, на 1300K записей в access логе, 10K записей с 200 и 0 body_bytes_sent, из них 1K уникальных ip (соответственно клиентов) какие еще варианты возможны? спасибо 2016-03-31 16:40 GMT+03:00 Maxim Dounin : > Hello! > > On Thu, Mar 31, 2016 at 01:05:13PM +0300, Vasil Mikhalenya wrote: > > > Коллеги, подскажите почему nginx может иногда отдавать 200 OK и 0 байт в > > ответе, > > случается для HIT, MISS, EXPIRED > > > > du -mk /var/lib/nginx/cache/x/d/07/9933b0653bece6387a95b7ad7d15007d > > 388 /var/lib/nginx/cache/x/d/07/9933b0653bece6387a95b7ad7d15007d > > > > head -n 10 /var/lib/nginx/cache/x/d/07/9933b0653bece6387a95b7ad7d15007d > > D V0 V4 Va"33fcea30-60630" > > KEY: http://x/hls/480p/1459415596925.ts > > HTTP/1.1 200 OK > > Server: nginx/1.8.0 > > Date: Thu, 31 Mar 2016 09:13:24 GMT > > Content-Type: video/mp2t > > Content-Length: 394800 > > Connection: close > > Last-Modified: Thu, 31 Mar 2016 09:13:20 GMT > > ETag: "33fcea30-60630" > > > > 2.61.162.132 - - [31/Mar/2016:09:13:37 +] "GET > > /hls/480p/1459415596925.ts HTTP/1.1" 200 0 "x" "Mozilla/5.0 (Windows NT > > 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) > Chrome/46.0.2486.0 > > Safari/537.36 Edge/13.10586" "-" 0.000 - - - HIT 394800 > > > > где log_format combined_extra '$remote_addr - $remote_user [$time_local] > ' > > > > '"$request" $status $body_bytes_sent ' > > > > '"$http_referer" "$http_user_agent" "$http_x_forwarded_for" $request_time > > $upstream_header_time $upstream_response_time $upstream_response_length > > $upstream_cache_status $upstream_http_content_length'; > > В $body_bytes_sent - количество байт, реально отправленное > клиенту. Если клиент успел закрыть соединение до того, как nginx > совершил первую попытку отправить что-то в ответ - там будет 0. > При этом код ответа будет указан 200, если nginx успел > сформировать заголовок ответа до того, как узнал, что клиент > закрыл соединение. > > -- > Maxim Dounin > http://nginx.org/ > > ___ > nginx-ru mailing list > nginx-ru@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- Best regards, Vasil Mikhalenya ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: nginx fastcgi_cache и Vary headers
Hello! On Wed, Mar 30, 2016 at 09:02:31PM +, Alex Vasilenko wrote: > Максим, > > Стыдно признать, но вы оказались полностью правы. Cache-Control с Expires > был в fastcgi_ignore_headers. А Vary в ответе был еще один, который > собственно перезатирал предыдущие. > > Как я могу указать несколько заголовков с Vary в таком случае? Vary: > Accept-Language, X-Authentication (через запятую)? Да, в одном заголовке через запятую - это правильно. > Будет ли Accept-Encoding автоматически добавлен нджинксом в ответ в Vary > хедер в таком случае? По умолчанию nginx в Vary ничего не добавляет. Если там нужен Accept-Encoding - лучше его явно же и указать. Если же речь про gzip-фильтр и настройку gzip_vary, то она добавляет отдельный заголовок. Соответственно если это будет происходить на бекенде - будете наступать на ту же проблему с несколькими заголовками Vary. Впрочем, жать ответы на бекенде в зависимости от Accept-Encoding - в любом случае не очень хорошая идея, лучше их жать на фронтенде (либо же всегда жать на бекенде, а потом разжимать на фронтенде). -- Maxim Dounin http://nginx.org/ ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
reverse proxy + mysql + video
Коллеги, Хочется странного ;) Собственно задача следующая: Есть база данных в моём случаи mysql. В ней хранятся видео файлы. Хочется чтобы nginx доставал эти файлы из БД, кэшировал их и передавал дальше клиенту. Просто достать данные из БД не проблема есть модуль nginx-mysql-module. Но как заставить закэшировать данные, и дать возможность перемотки видео в плеере не представляю. Подскажите куда копать, плиз Posted at Nginx Forum: https://forum.nginx.org/read.php?21,265759,265759#msg-265759 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
nginx zero byte response from non-zero file in cache
не понял, в кеше файл есть, ответ апстрима был HTTP/1.1 200 OK, размер 394800, он же на диске однако nginx иногда отдает 200 OK и ноль байт прошу, прощения за отсутствующий subject, поправил On Thu, Mar 31, 2016 at 1:22 PM, Илья Шипицин wrote: > 304-й залип в кеше с пустым телом ? > > 2016-03-31 15:05 GMT+05:00 Vasil Mikhalenya : > >> Коллеги, подскажите почему nginx может иногда отдавать 200 OK и 0 байт в >> ответе, >> случается для HIT, MISS, EXPIRED >> >> du -mk /var/lib/nginx/cache/x/d/07/9933b0653bece6387a95b7ad7d15007d >> 388 /var/lib/nginx/cache/x/d/07/9933b0653bece6387a95b7ad7d15007d >> >> head -n 10 /var/lib/nginx/cache/x/d/07/9933b0653bece6387a95b7ad7d15007d >> D V0 V4 Va"33fcea30-60630" >> KEY: http://x/hls/480p/1459415596925.ts >> HTTP/1.1 200 OK >> Server: nginx/1.8.0 >> Date: Thu, 31 Mar 2016 09:13:24 GMT >> Content-Type: video/mp2t >> Content-Length: 394800 >> Connection: close >> Last-Modified: Thu, 31 Mar 2016 09:13:20 GMT >> ETag: "33fcea30-60630" >> >> 2.61.162.132 - - [31/Mar/2016:09:13:37 +] "GET >> /hls/480p/1459415596925.ts HTTP/1.1" 200 0 "x" "Mozilla/5.0 (Windows NT >> 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 >> Safari/537.36 Edge/13.10586" "-" 0.000 - - - HIT 394800 >> >> где log_format combined_extra '$remote_addr - $remote_user [$time_local] >> ' >> >> '"$request" $status $body_bytes_sent ' >> >> '"$http_referer" "$http_user_agent" "$http_x_forwarded_for" $request_time >> $upstream_header_time $upstream_response_time $upstream_response_length >> $upstream_cache_status $upstream_http_content_length'; >> >> Спасибо >> >> -- >> Best regards, >> Vasil Mikhalenya >> >> ___ >> nginx-ru mailing list >> nginx-ru@nginx.org >> http://mailman.nginx.org/mailman/listinfo/nginx-ru >> > > > ___ > nginx-ru mailing list > nginx-ru@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > -- Best regards, Vasil Mikhalenya ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: your mail
Hello! On Thu, Mar 31, 2016 at 01:05:13PM +0300, Vasil Mikhalenya wrote: > Коллеги, подскажите почему nginx может иногда отдавать 200 OK и 0 байт в > ответе, > случается для HIT, MISS, EXPIRED > > du -mk /var/lib/nginx/cache/x/d/07/9933b0653bece6387a95b7ad7d15007d > 388 /var/lib/nginx/cache/x/d/07/9933b0653bece6387a95b7ad7d15007d > > head -n 10 /var/lib/nginx/cache/x/d/07/9933b0653bece6387a95b7ad7d15007d > D V0 V4 Va"33fcea30-60630" > KEY: http://x/hls/480p/1459415596925.ts > HTTP/1.1 200 OK > Server: nginx/1.8.0 > Date: Thu, 31 Mar 2016 09:13:24 GMT > Content-Type: video/mp2t > Content-Length: 394800 > Connection: close > Last-Modified: Thu, 31 Mar 2016 09:13:20 GMT > ETag: "33fcea30-60630" > > 2.61.162.132 - - [31/Mar/2016:09:13:37 +] "GET > /hls/480p/1459415596925.ts HTTP/1.1" 200 0 "x" "Mozilla/5.0 (Windows NT > 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 > Safari/537.36 Edge/13.10586" "-" 0.000 - - - HIT 394800 > > где log_format combined_extra '$remote_addr - $remote_user [$time_local] ' > > '"$request" $status $body_bytes_sent ' > > '"$http_referer" "$http_user_agent" "$http_x_forwarded_for" $request_time > $upstream_header_time $upstream_response_time $upstream_response_length > $upstream_cache_status $upstream_http_content_length'; В $body_bytes_sent - количество байт, реально отправленное клиенту. Если клиент успел закрыть соединение до того, как nginx совершил первую попытку отправить что-то в ответ - там будет 0. При этом код ответа будет указан 200, если nginx успел сформировать заголовок ответа до того, как узнал, что клиент закрыл соединение. -- Maxim Dounin http://nginx.org/ ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: [no subject]
304-й залип в кеше с пустым телом ? 2016-03-31 15:05 GMT+05:00 Vasil Mikhalenya : > Коллеги, подскажите почему nginx может иногда отдавать 200 OK и 0 байт в > ответе, > случается для HIT, MISS, EXPIRED > > du -mk /var/lib/nginx/cache/x/d/07/9933b0653bece6387a95b7ad7d15007d > 388 /var/lib/nginx/cache/x/d/07/9933b0653bece6387a95b7ad7d15007d > > head -n 10 /var/lib/nginx/cache/x/d/07/9933b0653bece6387a95b7ad7d15007d > D V0 V4 Va"33fcea30-60630" > KEY: http://x/hls/480p/1459415596925.ts > HTTP/1.1 200 OK > Server: nginx/1.8.0 > Date: Thu, 31 Mar 2016 09:13:24 GMT > Content-Type: video/mp2t > Content-Length: 394800 > Connection: close > Last-Modified: Thu, 31 Mar 2016 09:13:20 GMT > ETag: "33fcea30-60630" > > 2.61.162.132 - - [31/Mar/2016:09:13:37 +] "GET > /hls/480p/1459415596925.ts HTTP/1.1" 200 0 "x" "Mozilla/5.0 (Windows NT > 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 > Safari/537.36 Edge/13.10586" "-" 0.000 - - - HIT 394800 > > где log_format combined_extra '$remote_addr - $remote_user [$time_local] ' > > '"$request" $status $body_bytes_sent ' > > '"$http_referer" "$http_user_agent" "$http_x_forwarded_for" $request_time > $upstream_header_time $upstream_response_time $upstream_response_length > $upstream_cache_status $upstream_http_content_length'; > > Спасибо > > -- > Best regards, > Vasil Mikhalenya > > ___ > nginx-ru mailing list > nginx-ru@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
[no subject]
Коллеги, подскажите почему nginx может иногда отдавать 200 OK и 0 байт в ответе, случается для HIT, MISS, EXPIRED du -mk /var/lib/nginx/cache/x/d/07/9933b0653bece6387a95b7ad7d15007d 388 /var/lib/nginx/cache/x/d/07/9933b0653bece6387a95b7ad7d15007d head -n 10 /var/lib/nginx/cache/x/d/07/9933b0653bece6387a95b7ad7d15007d D V0 V4 Va"33fcea30-60630" KEY: http://x/hls/480p/1459415596925.ts HTTP/1.1 200 OK Server: nginx/1.8.0 Date: Thu, 31 Mar 2016 09:13:24 GMT Content-Type: video/mp2t Content-Length: 394800 Connection: close Last-Modified: Thu, 31 Mar 2016 09:13:20 GMT ETag: "33fcea30-60630" 2.61.162.132 - - [31/Mar/2016:09:13:37 +] "GET /hls/480p/1459415596925.ts HTTP/1.1" 200 0 "x" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Safari/537.36 Edge/13.10586" "-" 0.000 - - - HIT 394800 где log_format combined_extra '$remote_addr - $remote_user [$time_local] ' '"$request" $status $body_bytes_sent ' '"$http_referer" "$http_user_agent" "$http_x_forwarded_for" $request_time $upstream_header_time $upstream_response_time $upstream_response_length $upstream_cache_status $upstream_http_content_length'; Спасибо -- Best regards, Vasil Mikhalenya ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru