Lakierowanie 503 podczas renderowania wolnej strony
Varnish ciągle wyrzuca usługę 503 Niedostępna podczas próby załadowania strony, której utworzenie na serwerze WWW trwa dłużej.
W varnishlog widzę
FetchError c http read error: 0błąd, chociaż nie bardzo rozumiem, co to znaczy.
Próbowałem również zwiększyć limity czasu zaplecza:
backend default {
.host = "x.x.x.x";
.port = "80";
.connect_timeout = 600s;
.first_byte_timeout = 600s;
.between_bytes_timeout = 600s;
}
Backend to serwer Apache.
Wszystkie inne strony działają poprawnie.
Jakieś pomysły?
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
1 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
Podczas pobierania nagłówka [bin/varnishd/cache_fetch.c: 399]:
a) wystąpiło przepełnienie [bin/varnishd/cache_httpconn.c: 170]
lub
b) wystąpił błąd podczas wywoływania read () [bin/varnishd/cache_httpconn.c: 175]
Liczba na końcu to wartość errno, więc ponieważ wynosi 0 (bez błędu), zrobiłbym to
założyć
ta opcja a) stało się z
nie może zwracać liczby ujemnej bez ustawionego parametru errno.
Przepełnienie jest wykrywane za pomocą następującego kodu [bin/varnishd/cache_httpconn.c: 167], który zwraca wynik ujemny:
to
[bin/varnishd/cache.h: 126], czyli „strukturę obszaru roboczego”. Element r to zarezerwowana długość tego obszaru roboczego.
odnosi się do
[bin/varnishd/cache.h: 109], ale nie ma komentarza opisującego, do jakich pozycji (b i e) się odnoszą. Może początek i koniec?
Nie wiem, jak zmieniany jest rozmiar obszarów roboczych (a nawet jeśli tak jest), ale - i tak naprawdę zgaduję - zasugerowałbym kilka możliwych przyczyn problemu:
Pomocne może być znalezienie miejsca, w którym błąd może wystąpić, przeszukując przestrzeń:
i sprawdź, czy możesz wiarygodnie odtworzyć problem.
Możesz obejść problem, zwiększając
możliwość wykonania. (Jeśli używasz wersji & < 2.1, myślę, że jest to czas kompilacji lub opcja ustawienia)