Przepraszam, jeśli jest to więcej błędu serwera vs. stackoverflow. Wydaje się, że jest na granicy.Jak mogę przekroczyć 60% Limit pamięci IIS7 w aplikacji do buforowania ASP.NET
Mamy aplikację, która przechowuje dużą ilość danych produktu dla aplikacji handlu elektronicznego przy użyciu buforowania ASP.NET. Jest to obiekt słownikowy z elementami 65K, a nasze obliczenia powodują, że rozmiar obiektu wynosi ~ 10 GB.
Problem:
Ilość pamięci zużywa obiekt wydaje się być znacznie powyżej naszych obliczeń 10GB.
NAJWIĘKSZA KONCERN: Nie możemy wydawać się używać ponad 60% z 32 GB na serwerze.
Co próbowaliśmy tej pory:
W machine.config/system.Web (sf nie pozwala tagi, przepraszam formatowanie):
processModel autoConfig="true" memoryLimit="80"
W web.config/system.web/caching/cache (sf nie zezwala na znaczniki, ułaskawmy formatowanie):
privateBytesLimit = "20000000000" (and 0, the default of course)
percentagePhysicalMemoryUsedLimit = "90"
Środowisko: systemu Windows 2008R2 x64 32GB RAM IIS7
Nic nie wydaje się, aby umożliwić nam przekroczyć wartości 60%. Zobacz zrzut ekranu Taskmana.
http://www.freeimagehosting.net/image.php?7a42144e03.jpg
Wykształcone odgadnięcie: serwer ponownie dostosowuje swoją pamięć, aby dostosować się do zwiększonego obciążenia, na które się rzuca, używając większej ilości pliku wymiany, aby zrekompensować lub szybciej zbiera pamięć. Coś w tym stylu. Jak wygląda karta Wydajność w Taskmanie podczas zwiększania obciążenia? Czy zwiększa się rozmiar pliku wymiany? –
@Robert: Swap pozostaje prawie płaski (co ma sens, ponieważ jest to pamięć podręczna w pamięci). Warto jednak sprawdzić. @all: Zastanawiam się, czy problemem jest rozmiar pojedynczego obiektu. Czy GC wymaga pewnej ilości "wolnego miejsca" do przesuwania obiektów, a ten _jeden_ obiekt przekroczył to? – evilknot
Czy wymieniasz obiekty ze słownika i poza nim? Jeśli tak, to może wywierać presję na GC, ponieważ każda zamiana uwolni obiekt, który musi zostać w pewnym momencie usunięty. GC może nie czekać, aż zabraknie pamięci, zanim wykona kolekcję. Niektóre profile pamięci mogą być w porządku. –