Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

varnish 503 service unavailable

My varnish version is 3.0.

My server works well while I curl the URLs, but when use varnish cache it return 503 service unavailable occasionally.

The log info likes is:

0 Debug        - "VCL_error(200, OK)"
24 VCL_call     c recv error
24 VCL_call     c error deliver
24 SessionClose c error
0 Debug        - "VCL_error(200, OK)"
27 VCL_call     c recv error
27 VCL_call     c error deliver
27 SessionClose c error
0 Debug        - "VCL_error(200, OK)"
16 VCL_call     c recv error
16 VCL_call     c error deliver
16 SessionClose c error
14 Debug        - "Write error, retval = 2998272, len = 8465870, errno = Success"
0 Debug        - "VCL_error(200, OK)"
14 VCL_call     c recv error
14 VCL_call     c error deliver
14 SessionClose c error
0 Debug        - "VCL_error(200, OK)"
21 VCL_call     c recv error
21 VCL_call     c error deliver
21 SessionClose c error

PS:The server response 200 when I curl or type the urls on browsers.

like image 298
lichengwu Avatar asked Oct 24 '12 03:10

lichengwu


People also ask

What causes 503 service temporarily unavailable?

The HyperText Transfer Protocol (HTTP) 503 Service Unavailable server error response code indicates that the server is not ready to handle the request. Common causes are a server that is down for maintenance or that is overloaded.

Is 503 service temporarily unavailable?

The 503 (Service Unavailable) status code indicates that the server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.


1 Answers

varnish 503 can be fixed by steps below:

  1. Increase the connect_timeout,.first_byte_timeout and .between_bytes_timeout in you backend setting:

    backend default {
      .host = "www.example.com";
      .connect_timeout = 5s;
      .first_byte_timeout = 10s;
      .between_bytes_timeout = 10s;
    }
    
  2. Increase the parameter to 8192 when start varnish.

    varnishd [options] http_resp_hdr_len=8192
    
  3. Checkout you network or backend server.

    If Step 1 and Step 2 can not help you, please check you network connection and banckend server's availability.

like image 50
lichengwu Avatar answered Dec 08 '22 20:12

lichengwu