Welcome! Log In Create A New Profile

Advanced

HTTP2 window update and priority

Muhui Jiang
May 09, 2016 09:28AM
Hi

According to my view on the source code of Nginx 1.9.15, I noticed some
observation below:

1. when there is no enough window, nginx won't send back the response
frame, though according to the log, nginx said it has sent the headers
frame out, but client won't receive it. This is not right according to RFC
7540 because window update will only limit the data frames

2.when there is no enough window, nginx will first store the request in the
queue, when it received a window update, nginx will start fetch the streams
stored in the queue use ngx_queue_head within a while loop(line 2161 in
ngx_http_v2.c). I noticed the stream order I got is the same as the sending
order with no relationship of the dependency tree, then nginx will create
the corresponding data frames according to the stream order. But I noticed
whether nginx will put the frame into the output queue depends on the
value of wev->ready, here a problem is that I noticed when the request
files is big, the wev->ready is set 0, only when this happens, the priority
mechanism can work otherwise the frame will be sent out directly with no
dependency observation. I am still confused on how does nginx implement the
priority. Could you please give me some suggestions.

A failed priority mechanism example debug log:
https://github.com/valour01/LOG/blob/master/example.log

Best Regards
Muhui Jiang
_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx
Subject Author Posted

HTTP2 window update and priority

Muhui Jiang May 09, 2016 09:28AM

Re: HTTP2 window update and priority

Valentin V. Bartenev May 10, 2016 09:16AM

Re: HTTP2 window update and priority

Muhui Jiang May 10, 2016 10:14AM

Re: HTTP2 window update and priority

Valentin V. Bartenev May 10, 2016 10:34AM

Re: HTTP2 window update and priority

Muhui Jiang May 10, 2016 11:12AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 295
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready