Ukládání souboru na server pomocí protokolu HTTP trvá velmi dlouho

Překlady článku Překlady článku
ID článku: 329781 - Produkty, které se vztahují k tomuto článku.
Důležité: Tento článek obsahuje informace o úpravách registru. Dříve než provedete jakékoli úpravy registru, prověřte své schopnosti obnovit jej v případě, že dojde k potížím. Informace, jak zálohovat, obnovit a upravovat registr, naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:
256986 Popis registru systému Microsoft Windows
Rozbalit všechny záložky | Minimalizovat všechny záložky

Příznaky

Ukládání několikamegabajtových souborů na server pomocí metody HTTP File Upload trvá velmi dlouho.

Poznámka: Tyto potíže jsou dokumentované ve specifikaci Request For Comment (RFC) 1867, „Form-based File Upload in HTML (Ukládání souborů pomocí formulářů v jazyku HTML)“.

Příčina

K těmto potížím dochází, protože výchozí velikost vyrovnávací paměti rozhraní Winsock pro odesílání je 8 kilobajtů (kB) a proto aplikace Internet Explorer předává data v 8kilobajtových dávkách. V průměrné síti to znamená zhruba 80 kB/s bez ohledu na přenosovou rychlost sítě.

Další informace naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:
214397 INFO: Potíže s návrhem – Odesílání malých datových segmentů protokolem TCP pomocí rozhraní Winsock

Řešení

K odstranění těchto potíží nakonfigurujte v aplikaci Internet Explorer větší vyrovnávací paměť pro odesílání přes rozhraní Winsock. Tak zvýšíte přenosovou rychlost při použití metody HTTP File Upload. Postupujte podle následujících pokynů:

Upozornění: Nesprávné použití programu Editor registru může způsobit vážné potíže, k jejichž odstranění může být nutné přeinstalovat systém Windows. Společnost Microsoft nezaručuje, že potíže způsobené chybným použitím programu Editor registru mohou být odstraněny. Tento program používáte pouze na vlastní nebezpečí.
  1. Spusťte program Editor registru (Regedt32.exe).
  2. Najděte a poté klepněte na následující klíč registru:
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
  3. V nabídce Úpravy klepněte na příkaz Přidat hodnotu a poté přidejte následující hodnotu:
    Název hodnoty: SocketSendBufferLength
    Datový typ: REG_DWORD
    Soustava: Desítková
    Údaj hodnoty: Požadovaná velikost vyrovnávací paměti (v bajtech)
    Možné hodnoty velikosti vyrovnávací paměti:
    16 kB = 16384
    24 kB = 24576
    32 kB = 32768
    40 kB = 40960
    48 kB = 49152
    56 kB = 57344
    64 kB = 65536
  4. Ukončete program Editor registru.
Otestujte jednotlivé hodnoty počínaje 16kilobajtovou vyrovnávací pamětí. Jakmile dosáhnete přijatelné přenosové rychlosti, ponechte nastavenou velikost vyrovnávací paměti.

Prohlášení

Toto chování je implementováno úmyslně.

Další informace

Pokud použijete postup popsaný v části „Řešení“ v tomto článku, každý program používající funkci HTTPSendRequest rozhraní WININETAPI (dokumentovanou na webovém serveru Microsoft Developer Network (MSDN)) si vyžádá vyrovnávací paměť pro odesílání přes rozhraní Winsock definovanou v uvedeném klíči registru.

Další informace o funkci HTTPSendRequest naleznete na následující webové stránce služby MSDN:
http://msdn2.microsoft.com/en-us/library/aa384247.aspx
Další informace o chování vyrovnávací paměti pro odesílání přes rozhraní Winsock naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:
214397 INFO: Potíže s návrhem – Odesílání datových segmentů protokolem TCP pomocí rozhraní Winsock

Vlastnosti

ID článku: 329781 - Poslední aktualizace: 5. března 2007 - Revize: 3.2
Informace v tomto článku jsou určeny pro produkt:
  • 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 na těchto platformách
    • 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
Klíčová slova: 
kbprb KB329781

Dejte nám zpětnou vazbu

 

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