Eksperymentujemy z różnymi sposobami ograniczania działań użytkowników w danym okresie :
- Ogranicz posty na pytania / odpowiedzi
- Ogranicz edycje
- Ogranicz pobieranie danych
Na razie używamy pamięci podręcznej, aby po prostu wstawić rekord aktywności użytkownika - jeśli ten rekord istnieje, jeśli / kiedy użytkownik wykona tę samą aktywność, dławimy.
Korzystanie z bufora automatycznie zapewnia nam przestarzałe czyszczenie danych i przesuwanie okien aktywności użytkowników, ale sposób skalowania może być problemem.
Jakie są inne sposoby zapewnienia skutecznego ograniczania żądań / działań użytkownika (nacisk na stabilność)?
asp.net-mvc
throttling
Jarrod Dixon
źródło
źródło
Odpowiedzi:
Oto ogólna wersja tego, czego używaliśmy w przepełnieniu stosu przez ostatni rok:
Przykładowe użycie:
Pamięć podręczna ASP.NET działa tutaj jak mistrz - dzięki niej uzyskujesz automatyczne czyszczenie wpisów przepustnicy. A wraz z rosnącym ruchem nie widzimy, że jest to problem na serwerze.
Przekaż opinię na temat tej metody; kiedy ulepszymy Przepełnienie stosu, jeszcze szybciej naprawisz Ewok :)
źródło
REMOTE_ADDR
iHTTP_X_FORWARDED_FOR
zmienne serwera i dezynfekuje odpowiednio.Microsoft ma nowe rozszerzenie dla IIS 7 o nazwie Dynamic IP Restrictions Extension dla IIS 7.0 - Beta.
Przykład:
Jeśli ustawisz kryteria blokowania później
X requests in Y milliseconds
lubX concurrent connections in Y milliseconds
adres IP zostanie zablokowany,Y milliseconds
żądania będą ponownie akceptowane.źródło
<location>
. To każda prośba o aplikację lub żadna.Używamy techniki zapożyczonej z tego adresu URL http://www.codeproject.com/KB/aspnet/10ASPNetPerformance.aspx , nie do ograniczania przepustowości, ale do Denial Of Service (DOS) biedaka. Jest to również oparte na pamięci podręcznej i może być podobne do tego, co robisz. Czy dławisz się, aby zapobiec atakom DOS? Routery z pewnością można wykorzystać do zmniejszenia DOS; myślisz, że router poradzi sobie z potrzebnym ograniczeniem przepustowości?
źródło