SPDY: what is the purpose of blocked frame

Yury Kirpichev ykirpichev at gmail.com
Tue Jun 25 08:51:17 UTC 2013


Hi Nginx Developers,


Could someone explain what is the purpose to use blocked frame for
SYN_REPLY frame in spdy implementation?

According to our investigation it makes it impossible to use spdy
priorities because of blocked frames (since each stream is started with
SYN_REPLY which is blocked there is no way how frames from subsequent
requests can outrun previous request with lower priority in spdy output
queue).

Here is log snippet which shows the problem:
2013/06/25 07:35:04 [debug] 4045#0: *245 free: 0000000002090650, unused: 0
2013/06/25 07:35:04 [debug] 4045#0: *245 free: 0000000002090760, unused: 128
2013/06/25 07:35:04 [debug] 4045#0: *1 post event 00007FA2EC947280
2013/06/25 07:35:04 [debug] 4045#0: *1 delete posted event 00007FA2EC947280
2013/06/25 07:35:04 [debug] 4045#0: *1 spdy write handler
2013/06/25 07:35:04 [debug] 4045#0: *1 spdy frame out: 00000000022B17D8
sid:243 prio:3 bl:0 size:8
2013/06/25 07:35:04 [debug] 4045#0: *1 spdy frame out: 00000000022B16C0
sid:243 prio:3 bl:0 size:5008
2013/06/25 07:35:04 [debug] 4045#0: *1 spdy frame out: 00000000022AB2F8
sid:243 prio:3 bl:1 size:269
2013/06/25 07:35:04 [debug] 4045#0: *1 spdy frame out: 00000000022A8748
sid:239 prio:3 bl:0 size:8
2013/06/25 07:35:04 [debug] 4045#0: *1 spdy frame out: 00000000022A8630
sid:239 prio:3 bl:0 size:5008
2013/06/25 07:35:04 [debug] 4045#0: *1 spdy frame out: 00000000022AC690
sid:241 prio:1 bl:0 size:8
2013/06/25 07:35:04 [debug] 4045#0: *1 spdy frame out: 00000000021184B8
sid:241 prio:1 bl:0 size:1008
2013/06/25 07:35:04 [debug] 4045#0: *1 spdy frame out: 0000000002118278
sid:241 prio:1 bl:1 size:268
2013/06/25 07:35:04 [debug] 4045#0: *1 spdy frame out: 00000000020B3C38
sid:239 prio:3 bl:1 size:269
2013/06/25 07:35:04 [debug] 4045#0: *1 spdy frame out: 00000000022A4718
sid:237 prio:3 bl:0 size:8
2013/06/25 07:35:04 [debug] 4045#0: *1 spdy frame out: 00000000022A4600
sid:237 prio:3 bl:0 size:5008
2013/06/25 07:35:04 [debug] 4045#0: *1 spdy frame out: 000000000229D228
sid:237 prio:3 bl:1 size:269
2013/06/25 07:35:04 [debug] 4045#0: *1 spdy frame out: 000000000229F6C8
sid:235 prio:3 bl:0 size:8
2013/06/25 07:35:04 [debug] 4045#0: *1 spdy frame out: 000000000229F5B0
sid:235 prio:3 bl:0 size:5008
2013/06/25 07:35:04 [debug] 4045#0: *1 spdy frame out: 0000000002290158
sid:235 prio:3 bl:1 size:269
2013/06/25 07:35:04 [debug] 4045#0: *1 spdy frame out: 000000000229A678
sid:233 prio:3 bl:0 size:8
2013/06/25 07:35:04 [debug] 4045#0: *1 spdy frame out: 000000000229A560
sid:233 prio:3 bl:0 size:5008
2013/06/25 07:35:04 [debug] 4045#0: *1 spdy frame out: 0000000002294198
sid:233 prio:3 bl:1 size:269
2013/06/25 07:35:04 [debug] 4045#0: *1 spdy frame out: 0000000002297648
sid:229 prio:3 bl:0 size:8
2013/06/25 07:35:04 [debug] 4045#0: *1 spdy frame out: 0000000002297530
sid:229 prio:3 bl:0 size:5008
2013/06/25 07:35:04 [debug] 4045#0: *1 spdy frame out: 0000000002296638
sid:231 prio:3 bl:0 size:8
2013/06/25 07:35:04 [debug] 4045#0: *1 spdy frame out: 0000000002296520
sid:231 prio:3 bl:0 size:5008
2013/06/25 07:35:04 [debug] 4045#0: *1 spdy frame out: 00000000020B5C58
sid:231 prio:3 bl:1 size:269
2013/06/25 07:35:04 [debug] 4045#0: *1 spdy frame out: 00000000020ACBC8
sid:229 prio:3 bl:1 size:269

As you can see farm with priority 1 was added somewhere in the middle of
queue because of we have
00000000020B3C38 sid:239 prio:3 bl:1 size:269

BR/ Yury
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx-devel/attachments/20130625/bb6d1121/attachment.html>


More information about the nginx-devel mailing list