[Varnish] #1743: Workspace exhaustion under load

Varnish varnish-bugs at varnish-cache.org
Mon Jun 1 11:15:58 CEST 2015

#1743: Workspace exhaustion under load
 Reporter:  geoff                 |       Owner:
     Type:  defect                |      Status:  new
 Priority:  normal                |   Milestone:  Varnish 4.0 release
Component:  varnishd              |     Version:  4.0.3
 Severity:  normal                |  Resolution:
 Keywords:  workspace, esi, load  |

Comment (by geoff):

 It turns out that this problem was caused by a bug in VCL, and does not
 indicate a problem with workspace management under load in varnishd.

 We had VCL code that caused the req.url to be changed in vcl_recv() under
 certain circumstances, but it should only have been done at ESI level 0,
 and did not check the ESI level. That meant that the URL was replaced at
 every ESI level, and the response at that URL also had deep ESI nesting,
 as mentioned above.

 Not only had we increased max_esi_depth to allow the deep ESI nesting, we
 also had an "ESI include tree" that expands widely in breadth. The effect
 was so much ESI expansion as to explode workspaces.

 After fixing VCL so that the req.url replacement is only done at ESI level
 0, we've been able to repeat load tests with no workspace problems.

 This ticket can be closed now, thanks to phk for the help.

Ticket URL: <https://www.varnish-cache.org/trac/ticket/1743#comment:3>
Varnish <https://varnish-cache.org/>
The Varnish HTTP Accelerator

More information about the varnish-bugs mailing list