2013-02-24 17 views
5

Jeśli aktywuję moduł IIS Rewrite Pamięć podręczna plików Licznik trafień nie zwiększa się.Czy przepisanie URL-i blokuje buforowanie plików statycznych przez IIS?

mam śledzenie ciosy przez Performance Monitor (Odsłon perfmon.exe/Web Service Cache/Cache File)

Gdybym dezaktywować przepisywanie "File Cache Hits" wzrost normalnie według algorytmu buforowania IIS.

Żądany plik to statyczny plik html w obu przypadkach. statyczna buforowanie plik

robi Przepisywanie URL blokowego IIS?

+1

W Menedżerze usług IIS przejdź do Moduły i Otwórz element. Po prawej stronie kliknij "Wyświetl uporządkowaną listę". RewriteModule powinien znajdować się blisko dna, jeśli nie jest. – Jamey

Odpowiedz

0

The docs state że tak, IIS przepisać może zapobiec buforowaniu plików.

Interakcje z buforowania danych wyjściowych IIS

przepisanie modułu URL kontroluje zachowanie bufora wyjściowego IIS w celu do:

optymalne wykorzystanie trybu jądra i trybu użytkownika wyjściowego buforowanie odpowiedzi dla odnowionego Adresy URL, poprawiając w ten sposób wydajność aplikacji Web , która korzysta z modułu URL Rewrite. Zapobiegaj buforowaniu odpowiedzi, gdy logika buforowania może zostać naruszona z powodu przepisywania adresów URL. Moduł steruje buforowaniem wyjściowym przez zmianę niektórych właściwości buforowania lub przez całkowite wyłączenie buforowania. Moduł nie może włączyć buforowania wyjściowego, jeśli został wyłączony przez konfigurację IIS lub przez inny moduł w potoku IIS. Buforowanie wyjścia jest kontrolowany sposób następujący:

  1. Moduł zawsze ustawia pamięć trybu użytkownika ustawień varyByHeader = „HTTP_X_ORIGINAL_URL”. Gwarantuje to, że po włączeniu buforowania trybu użytkownika moduł bierze pod uwagę oryginalny adres URL pod adresem skonstruować klucz dla wpisu pamięci podręcznej.

  2. Jeśli zestaw reguła przepisywania wykorzystuje zmienne serwera z wartościami, które są albo stałe przez cały okres procesu lub pochodzą z żądanego adresu URL, zbiór zasada jest uważane za bezpieczne dla buforowania wyjścia. To oznacza, że ​​Przepisz Moduł URL nie zmieni istniejących buforowanie politykę w inny sposób niż ustawienie varyByHeader jak opisano w punkcie

następujących zmiennych serwerowych, kiedy używane w zasadach przepisywania, NIE przyczyny żadnego wpływu na wyjściu polityki buforowania:

"CACHE_URL", "DOCUMENT_ROOT", "HTTP_URL", "HTTP_HOST", "PATH_INFO" "PATH_TRANSLATED", "QUERY_STRING", "REQUEST_FILENAME", "REQUEST_URI" "SCRIPT_FILENAME" "SCRIPT_NAME", "SCRIPT_TRANSLATED", "UNENCODED_URL", "URL", "URL_PATH_ INFO”, "APP_POOL_ID" "APPL_MD_PATH", "APPL_PHYSICAL_PATH", "GATEWAY_INTERFACE" "SERVER_SOFTWARE", "SSI_EXEC_DISABLED"

3.Jeśli zestaw reguł ponownego pisania używa dowolnej zmiennej serwera niewymienionej na powyższej liście, zestaw reguł jest uważany za niebezpieczny dla buforowania wyjściowego. Ten numer oznacza, że ​​moduł URL Rewrite wyłączy buforowanie trybu jądra pod kątem wszystkich żądań niezależnie od tego, czy adresy URL żądań zostały przepisane, czy nie. Ponadto, w module , moduł zmieni zasadę buforowania dla pamięci podręcznej trybu użytkownika , ustawiając właściwość buforowania zmiennaByValue, aby zawierała połączony ciąg znaków wszystkich zmiennych serwera używanych w zestawie reguł .

Powiązane problemy