Re: reverse proxy + mysql + video

2016-03-31 Пенетрантность Paul Sin
копать вниз.. к центру Земли.. извините, не удержался )

>> Просто достать данные из БД не проблема есть модуль
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 грузит только одно ядро процессора

2016-03-31 Пенетрантность Maximus43
Спасибо большое, Максим.
Стало понятно, куда копать, сейчас результаты тестов оправдывают ожидания.

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 грузит только одно ядро процессора

2016-03-31 Пенетрантность Maximus43
> > Результаты тестов 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

2016-03-31 Пенетрантность Maxim Dounin
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

2016-03-31 Пенетрантность Vasil Mikhalenya
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

2016-03-31 Пенетрантность 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

Re: your mail

2016-03-31 Пенетрантность Vasil Mikhalenya
не похоже что все так просто,

на 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

2016-03-31 Пенетрантность Maxim Dounin
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

2016-03-31 Пенетрантность 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

nginx zero byte response from non-zero file in cache

2016-03-31 Пенетрантность Vasil Mikhalenya
не понял,

в кеше файл есть, ответ апстрима был 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

2016-03-31 Пенетрантность 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

Re: [no subject]

2016-03-31 Пенетрантность Илья Шипицин
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]

2016-03-31 Пенетрантность 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