Niska wydajność sieci Web mogą wystąpić podczas próby dostępu do aplikacji sieci Web znajdującej się na Internet Information Services w wersji 6.0 za pomocą programu Internet Explorer 6

Tłumaczenia artykułów Tłumaczenia artykułów
Numer ID artykułu: 922703 - Zobacz jakich produktów dotyczą zawarte w tym artykule porady.
Rozwiń wszystko | Zwiń wszystko

Symptomy

Rozważmy następujący scenariusz:
  • Użyj zintegrowane uwierzytelnianie systemu Windows w środowisku aplikacji sieci Web Microsoft Internet Information Services 6.0 (IIS 6.0).
  • Dostęp do aplikacji sieci Web znajdującej się na usługach IIS 6.0 za pomocą programu Microsoft Internet Explorer 6.
W tym scenariuszu może wystąpić niska wydajność aplikacji sieci Web.

Uwaga Problem nie występuje, jeśli jako protokół uwierzytelniania używany jest uwierzytelnianie anonimowe. Ten problem również nie występuje, jeśli przeglądarka klienta jest przeglądarka inna niż Internet Explorer 6, takich jak Mozilla Firefox.

Przyczyna

Ten problem występuje, ponieważ klient programu Internet Explorer 6 regularnie resetuje połączenia TCP.

Analiza śledzenia sieci, które przechwycone podczas niskiej komunikacji między klientem a serwerem śledzenia sieci pokazuje, że resetuje protokół TCP będzie występować po klient odbiera odpowiedź 200 dla zasobu, który klient zażądał. Klienta sprawia, że żądania GET z nagłówka ETag HTTP oraz wartość. Kiedy serwer, w którym działa program IIS 6.0 odbiera żądanie, porównuje wartość elementu ETag i stwierdza, że wartość elementu ETag pasuje do żądanego pliku bieżącą wartość, z wyjątkiem Zmień numer.

Uwaga ETag nagłówki są wyświetlane w następującym formacie:

Filetimestamp:ChangeNumber

Na przykład Internet Explorer klient wysyła żądanie o wartości ETag 0222d5bffcbc41:301a, a następnie serwer wyśle odpowiedź HTTP 200, wartość elementu ETag z 0222d5bffcbc41:3246.

W Filetimestamp numer w żądaniu jest ten sam numer, który uważa za wartość bieżącą dla zasobu żądania usług IIS 6.0. Ale ponieważ ChangeNumber numer w żądaniu jest inny, usługi IIS 6.0 wysyła ponownie bieżącą wersję pliku, nie informujący program Internet Explorer do obsługi własnej pamięci podręcznej kopię. Brak określonego kodu w programie Internet Explorer porównuje Filetimestamp 200 odpowiedzi zSygnatura czasowa lokalnie buforowanych kopii. Połączenie jest zresetowane, jeżeli są one ten sam numer. Wynika to z klienta programu Internet Explorer spodziewa się otrzymywać raport o stanie 304, jeśli zawartość jest taka sama.

Innymi słowy usługi IIS 6.0 wysyła odpowiedź 200, ponieważ traktuje numery różnych zmian oznacza, że zasób, który jest żądana przez klienta i przez klienta wcześniej istniejącą wersję tego zasobu, który znajduje się w pamięci podręcznej przeglądarki nie są tej samej wersji. Jednak uważa je na tej samej wersji, ponieważ program Internet Explorer Filetimestamp jest taka sama. Ponadto program Internet Explorer uważa, że otrzymuje odpowiedź 200 w błąd. W tym scenariuszu program Internet Explorer resetuje połączenie TCP.

Obejście problemu

Jeśli używasz komputera z systemem Microsoft Windows Server 2003

Aby obejść ten problem, firma Microsoft zaleca twardego zostanie kod Zmień numer na serwerze sieci Web i zsynchronizować wersję pliku dla wszystkich klientów programu Internet Explorer. Wszystkich klientów programu Internet Explorer będzie miał wersje wszystkich różnych plików, które są wymagane przez aplikację. Należy upewnić się, serwer i klienci są synchronizowane.

Uwaga Działa w środowisku farmy sieci Web usług IIS 6.0 należy dysku twardego kod ten sam numer zmiany dla wszystkich serwerów, które są uruchomione usługi IIS 6.0 w farmie.

Aby zsynchronizować zmiany wartości liczb między klientami a serwerem, wykonaj następujące kroki:
  1. Ręcznie twarde kod ETag wartości w metabazie usług IIS 6.0

    Możliwość modyfikowania ETag Zmień numer na usługach IIS 6.0 jest dostępna w systemie Windows Server 2003 Service Pack 1 (SP1).

    Uwaga Gdy zmienisz wartość elementu ETag oraz należy zainstalować poprawkę, aby rozwiązać ten problem może wystąpić problem. Aby uzyskać więcej informacji na temat poprawki kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
    900245Wartość w polu ETAG jest aktualizowany podczas modyfikowania właściwości metabazy w usługach IIS 6.0
    Po zainstalowaniu tej poprawki można ręcznie twardego kod ETag zmienić numer. Ustawienie dla elementu ETag Zmień numer nie jest narażony z nazw interfejsów usługi Active Directory (ADSI). W związku z tym należy użyć narzędzia Explorer metabazie do ustawiania wartości przez identyfikator właściwości. Aby pobrać i zainstalować metabazy Explorer, odwiedź następującą stronę firmy Microsoft w sieci Web:
    http://www.microsoft.com/technet/prodtechnol/windowsserver2003/Library/IIS/993a8a36 -5761-448f-889e-9ae58d072c09.mspx
    Uwaga Explorer metabazy jest uwzględniona w zestawie resource kit usług IIS 6.0.

    Kod ręcznie twardego ETag zmienić numer, wykonaj następujące kroki:
    1. Otwórz Eksploratora metabazy, rozwiń węzeł LM w lewym okienku a następnie rozwiń węzeł W3SVC.
    2. Kliknij dwukrotnie rekord ID 2039 w prawym okienku. Jeśli nie ma rekordu ID 2039, należy go utworzyć. Aby to zrobić, wykonaj następujące kroki:
      1. Kliknij prawym przyciskiem myszy W3SVC węzeł w Eksploratorze metabazy wskaż Utwórz nowe, a następnie kliknij przycisk Wartość DWORD.
      2. Identyfikator nowego zestawu DWORD Aby 2039.
      3. Ustaw wartość DWORD nowe do 0.
    3. Typ 0 w Wartość pole.

      Uwaga Numer wpisz wewnątrz Wartość pole musi być w zakresie od 0 do 4294967295. Dodatkowo, wszystkie serwery w farmie muszą mieć identyczne numer Wartość pole. Aby uzyskać więcej informacji odwiedź następującą stronę firmy Microsoft w sieci Web:
      http://www.microsoft.com/technet/prodtechnol/windowsserver2003/Library/IIS/ef7f9d58- 2a96-4bd8-8ac1-2a67b43284f1.mspx
    4. Kliknij przycisk Zastosowanie, a następnie kliknij przycisk OK.
    Uwaga Jeśli serwery usług IIS 6.0 działają w środowisku farmy sieci Web usług IIS 6.0, powtórz kroki 1a do 1 d na wszystkich serwerach usług IIS 6.0 w farmie. Upewnij się, dodając takie same zmiany wartości liczb na wszystkich serwerach.
  2. Wyczyść pamięć podręczną przeglądarki klienta w programie Internet Explorer

    Jeśli zbyt wiele przeglądarek klientów ręcznego wyczyszczenia pamięci podręcznej, można wybrać Włącz wygasanie zawartości w usługach IIS 6.0, a następnie określ natychmiast wygaśnięcia zawartości. W tym scenariuszu należy pozostawić Włącz wygasanie zawartości w włączone tylko tak długo, jak długo trwa dla wszystkich klientów mieć świeże zawartości. Następnie należy wyłączyć Włącz wygasanie zawartości Aby nadać szansy sluzacych zawartości pamięci podręcznej programu Internet Explorer. Aby włączyć wygaśnięcia zawartości, wykonaj następujące kroki:
    1. Otwórz okno Internet Information Services.
    2. Rozwiń węzeł Komputer lokalny w lewym okienku, a następnie kliknij Witryny sieci Web.
    3. Kliknij prawym przyciskiem myszy Witryny sieci Web, a następnie kliknij przycisk Właściwości.
    4. Na Nagłówki HTTP Karta, kliknij, aby zaznaczyć Włącz wygasanie zawartości Zaznacz pole wyboru, a następnie kliknij przycisk Wygasnąć natychmiast Opcja.
    5. Zatrzymaj i uruchom ponownie usługi IIS 6.0.
    UwagaKlient może mieć do dwóch żądania zasobu po Włącz wygasanie zawartości pole wyboru jest włączone do aktualizacji pamięci podręcznej programu Internet Explorer.

Jeśli nie używasz komputera z systemem Windows Server 2003

Aby obejść ten problem, WłączWłącz wygasanie zawartości Opcja w usługach IIS 6.0 za pomocą procedury opisanej w sekcji "Wyczyść pamięć podręczną przeglądarki klienta w programie Internet Explorer" i pozostawić na. Ponadto wyłączyć buforowanie w programie Internet Explorer lub ustawić nagłówki kontroli pamięci podręcznej w aplikacji sieci Web. Aby uzyskać więcej informacji dotyczących sposobu zapobiegania buforowania sieci Web kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
311006Jak zapobiec buforowania sieci Web w systemie Windows 2000

Stan

Windows Internet Explorer 7 została zmodyfikowana tak, aby obsługiwać poprawnie ETag Zmień numer zgodnie z dokumentem RFC 2616. Jednak po zmianie numeru ETag Windows Internet Explorer 7 zostanie pobranie całego pliku zamiast anulowanie połączenia. To zachowanie może spowolnić działanie programu Internet Explorer 7 w porównaniu z programu Internet Explorer 6.

Więcej informacji

Jeśli analizy śledzenia Monitora sieci, które przechwycone na komputerze klienckim lub na serwerze, to śledzenia jest zaangażowany w scenariuszu wydajność, zobacz następującą sekwencję:
  1. Klient wysyła żądanie GET do serwera, na którym działa program IIS 6.0 i żądanie zawiera nagłówka If-None-Match w z Filetimestamp:ChangeNumber wartość. To żądanie jest podobny do następującego:
    HTTP: GET Request from Client
    HTTP: Request Method =GET
    HTTP: Uniform Resource Identifier =/MARRS/webService.htc
    HTTP: Protocol Version =HTTP/1.1
    HTTP: Accept = */*
    HTTP: Accept-Encoding =gzip, deflate
    HTTP: If-Modified-Since =Tue, 16 Nov 2004 17:11:48 GMT
    HTTP: If-None-Match ="0222d5bffcbc41:301a" 
    HTTP: User-Agent =Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET 
    CLR 1
    HTTP: Host =nnoma-wwapp02m
    HTTP: Connection =Keep-Alive
    HTTP: Authorization =Negotiate 
    TlRMTVNTUAADAAAAGAAYAG4AAAAKAQoBhgAAAAoACgBIAAAAEgASA
    HTTP: Cookie =ASP.NET_SessionId=uqnwgpygpf0dh2iwysznat55
    
    Uwaga Niektóre zmienne HTTP w tych przykładach mogą różnić się w danym środowisku.
  2. Serwer odbiera żądanie i wysyła odpowiedź 200 wraz z danymi, które jest wymagane. Ponieważ klient przysyła nagłówek If-None-Match, usługi IIS 6.0 musi uwzględniać nagłówek ETag odpowiedzi i wartość nagłówka w odpowiedzi. Ta odpowiedź podobny do następującego:
    HTTP: Response to Client; HTTP/1.1; Status Code = 200 - OK
    HTTP: Protocol Version =HTTP/1.1
    HTTP: Status Code = OK
    HTTP: Reason =OK
    HTTP: Content-Length =51622
    HTTP: Content-Type =text/x-component
    HTTP: Last-Modified =Tue, 16 Nov 2004 17:11:48 GMT
    HTTP: Accept-Ranges =bytes
    HTTP: ETag ="0222d5bffcbc41:3246"
    HTTP: Server =Microsoft-IIS/6.0
    HTTP: X-Powered-By = ASP.NET
    HTTP: Date =Tue, 27 Sep 2005 12:18:27 GMT
    HTTP: Data: Number of data bytes remaining = 1202 (0x04B2)
    
  3. Klient odbiera odpowiedź. Odpowiedź ma stan HTTP 200, zamiast przeglądarki był oczekiwany stan HTTP 304. W związku z tym przeglądarka wysyła RST TCP, aby przywrócić połączenie. Robi to, ponieważ program Internet Explorer wierzy, że serwer wysłał stan HTTP 200 w błąd. TCP RST podobny do następującego:
    TCP: Control Bits: .A.R.., 
    TCP: Source Port = 0x0747
    TCP: Destination Port = World Wide Web HTTP
    TCP: Sequence Number = 3840808344 (0xE4EE1598)
    TCP: Acknowledgement Number = 3150159894 (0xBBC3A016)
    TCP: Data Offset = 20 bytes
    TCP: 0101.... = Data Offset (20 bytes)
    TCP: ....0000 = Reserved bits
    TCP: Flags = 0x14 : .A.R..
    TCP: ..0..... = No urgent data
    TCP: ...1.... = Acknowledgement field significant
    TCP: ....0... = No Push function
    TCP: .....1.. = Reset the connection
    TCP: ......0. = No Synchronize
    TCP: .......0 = Not the end of the data
    TCP: Window = 0 (0x0)
    TCP: Checksum = 0xF26C
    TCP: Urgent Pointer = 0 (0x0)
    
    Aby uzyskać więcej informacji na temat protokołu TCP (Transmission Control) odwiedź następującą stronę sieci Web:
    http://www.FAQs.org/rfcs/rfc793.HTML

Właściwości

Numer ID artykułu: 922703 - Ostatnia weryfikacja: 23 września 2011 - Weryfikacja: 3.0
Informacje zawarte w tym artykule dotyczą:
  • Microsoft Internet Explorer 6.0
  • Internetowe usługi informacyjne Microsoft 6.0
Słowa kluczowe: 
kbtshoot kbprb kbmt KB922703 KbMtpl
Przetłumaczone maszynowo
WAŻNE: Ten artykuł nie został przetłumaczony przez człowieka, tylko przez oprogramowanie do tłumaczenia maszynowego firmy Microsoft. Firma Microsoft oferuje zarówno artykuły tłumaczone przez ludzi, jak i artykuły tłumaczone maszynowo, dzięki czemu każdy użytkownik może uzyskać dostęp do całej zawartości bazy wiedzy Knowledge Base we własnym języku. Prosimy jednak pamiętać, że artykuły przetłumaczone maszynowo nie zawsze są doskonałe. Mogą zawierać błędy słownictwa, składni i gramatyki, przypominające błędy robione przez osoby, dla których język użytkownika nie jest językiem ojczystym. Firma Microsoft nie odpowiada za wszelkie nieścisłości, błędy lub szkody spowodowane nieprawidłowym tłumaczeniem zawartości oraz za wykorzystanie tej zawartości przez klientów. Oprogramowanie do tłumaczenia maszynowego jest często aktualizowane przez firmę Microsoft.
Anglojęzyczna wersja tego artykułu to:922703

Przekaż opinię

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com