Hi guys,

we're troubleshooting with a problem with our varnish setup - it would be great 
if you could help us.

Our server setup is as follows:

NGINX (as ssl-terminator) > Varnish  > NGINX/php-fpm (multiple web-server 
instances) 

Cacheable URLs work fine, even with around 5 ESI per site,  we can deliver 1000 
req/s in around 100ms.

When it comes to non-cacheable URLs our setup fails completely. We can only 
serve about 5 req/s through varnish. If we leave out varnish for these urls and 
ask the nginx backends directly, we’re able to serve about 25 req/s. Without 
varnish, nginx directs these 25 req/s to the php-fpm processes and they get 
some nice cpu load.
With Varnish the php-fpm processes have nearyl zero cpu load, because varnish 
gets only 5req/s to the nginx backend.

Testing these requests with curl showed that it takes nginx/php-fpm about 
0.2sec for a single response. For us it seems like varnish can do only 1 fetch 
at once, so that the backend request are blocking. Is that possible?
During load testing the client_conn counter jumps to 200 almost instantly and 
then increases with about 5 units per second. the backend_conn counter does not 
have the initial jump to 200 but increases from zero with 5 units per second.
After the load test is completed the client_conn counter does not increase 
anymore (obviously), but the backend_conn counter will continue increasing 
slowly until it reaches the amount of client_conn. This also made us think that 
varnish processes the backend requests sequentially, even when the clients are 
not actually waiting for the content anymore.

Best Regards, 

Christian Hartlage


_______________________________________________
varnish-misc mailing list
[email protected]
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc

Reply via email to