Dlaczego pobierania Squid mogą przekroczyć miesięczny limit ruchu
Zrozum, dlaczego okresowe raporty i dzienniki zakończonych żądań nie mogą egzekwować dokładnego limitu bieżącego ruchu proxy.
Raport limitu odświeżany co dziesięć minut może pominąć znacznie więcej niż dziesięć minut bieżącego ruchu. Rodzime logowanie transakcji Squid zwykle zapisuje zakończoną transakcję, więc otwarte pobieranie lub tunel CONNECT może jeszcze nie podać końcowej liczby bajtów.
Najpierw określ, który ruch liczy limit.
Dopuszczenie następuje przed ostatecznym rozliczeniem
Program pomocniczy może dopuścić nowe żądanie, korzystając z bazy rozliczeniowej. Późniejsza aktualizacja tej bazy nie zatrzymuje automatycznie pracy już dopuszczonej.
Równoczesne żądania mogą też sprawdzać to samo saldo. Przy 20 MB zapasu dwie jednoczesne operacje po 15 MB mogą zostać dopuszczone obie, zanim któraś zmieni sumę. Dokładny raport później nie cofnie nadwyżki.
Uwierzytelnianie i buforowanie zewnętrznych list ACL mogą jeszcze opóźnić zmienioną decyzję. Zbuforowane zezwolenie nie jest świeżym sprawdzeniem salda. Rozliczanie po adresie IP może też łączyć użytkowników za jednym przetłumaczonym źródłem.
Określ limit, który możesz egzekwować
Miękka polityka miesięczna może dopuszczać opóźnione sumy i udokumentowany zapas na przekroczenie. Twardy limit bieżący wymaga wiarygodnego miernika na żywo i egzekwowania, które potrafi działać na bieżący ruch.
Zdecyduj, czy dopuszczone transfery mają się kończyć, być przerywane, czy rezerwować budżet. Określ, jak równoczesne operacje dzielą ten budżet i jak nieudane operacje zwalniają rezerwacje. Transfer rozpoczynający się tuż poniżej limitu powinien mieć przewidywalny wynik.
Uwzględnij w projekcie rozliczeń przenoszenie salda, spóźnione rekordy, restarty usługi i rotację dzienników. Zachowaj trwały postęp przetwarzania; usunięcie aktywnego dziennika, aby uniknąć podwójnego liczenia, może raczej utracić dowody.