Obserwujemy niespójne wyniki na Heroku, które nie są związane z niedawnym problemem inteligentnego routingu jednorożca.Sporadyczne powolne żądania na Heroku
Jest to przykład żądania, które zwykle trwa ~ 150ms (i 19 z 20 razy to tyle, ile trwa). Widać, że na tę prośbę trwało to około 4 sekund lub od 1 do 2 rzędów wielkości dłużej.
kilka rzeczy do uwaga:
- baza danych nie było wąskie gardło, a on spędził robi db odpytuje
- mamy więcej niż wystarczające hamowni tylko 25ms, więc nie wiem myślę, że to było wąskie gardło (20 podwójnych dynama z jednorożcem z 5 pracownikami, otrzymujemy tylko 1000 żądań na minutę, średni czas odpowiedzi 150 ms, co oznacza, że powinniśmy być w stanie obsłużyć (60/0,150) * 20 * 5 = 40 000 żądań na minutę, innymi słowy, mieliśmy 40-krotność pojemności na dynach podczas tego pomiaru był zabrany.
Zastanawiam się, co może powodować te sporadyczne powolne żądania. Jak już wspomniałem, wydaje się, że anegdotycznie dzieje się to w około 1 na 20 wniosków. Jedyne, co mogę wymyślić, to że na skrzynkach występuje problem głośnego sąsiada, lub warstwa routingu ma niespójną wydajność. Jeśli ktoś ma dodatkowe informacje lub pomysły, byłbym ciekawy. Dziękuję Ci.
Jeśli to jest jakaś pociecha, również tego doświadczam i nie udało mi się znaleźć przyczyny konkretnego zastosowania. Kolejny punkt danych dla hałaśliwej teorii sąsiada? –
Czy wypróbowałeś bilet wsparcia z Heroku? –
Powracając do tego po dłuższej chwili, przedstawiamy * zwariowaną * teorię: ma to coś wspólnego z "sprawiedliwym udziałem procesora" Heroka i wirtualizacją, której używają, aby to osiągnąć. Aby udowodnić moją rację, możesz napisać mały fragment kodu, powiedzmy handler'a dla adresu URL '/ test'. W nim liczą do kilku milionów. Po prostu nagraj procesor. To * to * kończy się czasem 150 ms, a czasem 4 sekundy, wtedy to Heroku. –