Det tar lång tid att överföra filer via HTTP

Artikelöversättning Artikelöversättning
Artikel-id: 329781 - Visa produkter som artikeln gäller.
VIKTIGT! Den här artikeln innehåller information om hur du redigerar registret. Innan du redigerar registret måste du vara säker på att du kan återställa det om det uppstår något problem. Om du vill veta mer om hur du säkerhetskopierar, återställer och redigerar registret klickar du på artikelnumret nedan och läser artikeln i Microsoft Knowledge Base:
256986 Beskrivning av registret i Microsoft Windows
Visa alla | Dölj alla

Symptom

Det kan ta lång tid att överföra filer via HTTP när filerna är flera megabyte stora.

Obs! Detta problem är dokumenterat i RFC 1867 (Request For Comment), "Form-based File Upload in HTML".

Orsak

Problemet beror på att standardbufferten för Winsock-överföring är 8 kilobyte (kB), vilket gör att Internet Explorer tillhandahåller informationen i 8 kB-block. I ett vanligt nätverk motsvarar detta ungefär 80 kB per sekund (kB/s), oavsett nätverkets bandbredd.

Om du vill veta mer klickar du på artikelnumret nedan och läser artikeln i Microsoft Knowledge Base:
214397 INFO: Designproblem - skicka små datasegment via TCP med Winsock (Länken kan leda till en webbplats som är helt eller delvis på engelska)

Lösning

Lös problemet genom att öka överföringsbufferten i Internet Explorer vid kommunikation med Winsock. När du gör det ökas nätverksprestanda när överföring av filer via HTTP används. Gör så här:

VARNING! Om du använder Registereditorn fel kan det medföra att du måste installera om operativsystemet. Microsoft kan inte garantera att du kan lösa problem som uppstår på grund av felaktig användning av Registereditorn. Använd Registereditorn på egen risk.
  1. Starta Registereditorn (Regedt32.exe).
  2. Leta upp och klicka på följande registernyckel:
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
  3. Klicka på Lägg till värdeRedigera-menyn, och lägg sedan till följande registervärde:
    Värde: SocketSendBufferLength
    Data: REG_DWORD
    Bas: Decimal
    Data: Önskad buffertstorlek (i byte)
    Alternativ för buffertvärde:
    16 kB buffert = 16384
    24 kB buffert = 24576
    32 kB buffert = 32768
    40 kB buffert = 40960
    48 kB buffert = 49152
    56 kB buffert = 57344
    64 kB buffert = 65536
  4. Avsluta Registereditorn.
Testa alla värden och börja med 16 kB buffert. När du är nöjd med överföringsprestanda väljer du motsvarande buffertvärde.

Status

Detta är avsiktligt.

Mer Information

När du använder metoden som beskrivs i avsnittet "Lösning" i denna artikel kommer alla program där WININETAPI-funktionen HTTPSendRequest används (se följande MSDN-länk), att tilldela och begära en Winsock-överföringsbuffert, enligt registernyckel.

Det finns mer information om HTTPSendRequest-funktionen på följande MSDN-webbplats:
http://msdn2.microsoft.com/en-us/library/aa384247.aspx
Om du vill veta mer om Winsock-överförigsbufferten klickar du på artikelnumret nedan och läser artikeln i Microsoft Knowledge Base:
214397 INFO: Designproblem - skicka datasegment via TCP med Winsock (Länken kan leda till en webbplats som är helt eller delvis på engelska)

Egenskaper

Artikel-id: 329781 - Senaste granskning: den 15 februari 2008 - Revision: 4.0
Informationen i denna artikel gäller:
  • Microsoft Internet Explorer 5.5
  • Microsoft Internet Explorer 5.5
  • Microsoft Internet Explorer 5.5
  • Microsoft Internet Explorer 5.5
  • Microsoft Internet Explorer 5.01
  • Microsoft Internet Explorer 6.0 på följande plattformar
    • Microsoft Windows XP Home Edition
    • Microsoft Windows XP Professional
    • Microsoft Windows XP Media Center Edition
    • Microsoft Windows XP Tablet PC Edition
    • Microsoft Windows 2000 Advanced Server
    • Microsoft Windows 2000 Datacenter Server
    • Microsoft Windows 2000 Professional Edition
    • Microsoft Windows 2000 Server
    • Microsoft Windows NT Server 4.0 Standard Edition
    • Microsoft Windows NT Server 4.0, Terminal Server Edition
    • Microsoft Windows NT Workstation 4.0 Developer Edition
    • Microsoft Windows Millennium Edition
    • Microsoft Windows 98 Second Edition
    • Microsoft Windows 98 Standard Edition
Nyckelord: 
kbprb KB329781

Ge feedback

 

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