HTTP-tiedostonlataaminen kestää kauan

Artikkeleiden käännökset Artikkeleiden käännökset
Artikkelin tunnus: 329781 - Näytä tuotteet, joita tämä artikkeli koskee.
TÄRKEÄÄ: Tässä artikkelissa käsitellään rekisterin muokkaamista. Muista varmuuskopioida rekisteri ennen sen muokkaamista. Varmista myös, että osaat palauttaa rekisterin ongelmatilanteessa. Lisätietoja rekisterin varmuuskopioimisesta, palauttamisesta ja muokkaamisesta saat napsauttamalla seuraavaa artikkelin numeroa, jolloin pääset lukemaan artikkelin Microsoft Knowledge Base -tietokannassa:
256986 Microsoft Windowsin rekisterin kuvaus
Laajenna kaikki | Kutista kaikki

Oire

Kun HTTP-tiedostonlataaminen yrittää ladata usean megatavun tiedostoja palvelimeen, toimen tekeminen kestää erittäin kauan.

Huomautus Tämä ongelma on dokumentoitu RFC (Request For Comment) -asiakirjassa 1867, "Form-based File Upload in HTML".

Syy

Tämä ongelma ilmenee, koska oletusarvon mukainen Winsock Send -lähetyspuskuri on 8 kilotavua, joten Internet Explorer lähettää tiedot 8 kilotavun paloina. Tavallisessa verkossa lähetetään noin 80 kilotavua sekunnissa riippumatta verkon kaistanleveydestä.

Saat lisätietoja napsauttamalla seuraavaa artikkelin numeroa, jolloin pääset lukemaan artikkelin Microsoft Knowledge Base -tietokannassa:
214397 Suunnitteluun liittyvät ongelmat - pienten tietosegmenttien lähettäminen TCP-yhteyden välityksellä käyttäen Winsockia (tämä artikkeli saattaa olla englanninkielinen)

Ratkaisu

Voit korjata tämän ongelman määrittämällä Internet Explorerin lisäämään Send-lähetyspuskurin kokoa käyttäessään Winsock-yhteyttä. Tämä parantaa verkon suorituskykyä käytettäessä HTTP-tiedostonlataamismenetelmää. Voit tehdä tämän seuraavasti:

VAROITUS: Rekisterieditorin virheellinen käyttö saattaa aiheuttaa vakavia ongelmia, joiden vuoksi käyttöjärjestelmä on ehkä asennettava uudelleen. Microsoft ei takaa, että virheellisestä Rekisterieditorin käyttämisestä johtuvat ongelmat voidaan ratkaista. Käytät Rekisterieditoria omalla vastuullasi.
  1. Käynnistä Rekisterieditori (Regedt32.exe).
  2. Etsi seuraava rekisteriavain ja napsauta sitä:
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
  3. Valitse Muokkaa-valikosta Lisää arvo ja lisää seuraava rekisteriarvo:
    Arvon nimi: SocketSendBufferLength
    Tietolaji: REG_DWORD
    Lukujärjestelmä: Kymmenjärjestelmä
    Arvon data: Haluamasi puskurin koko (tavuina)
    Puskurin koon vaihtoehdot:
    16 kilotavun puskuri = 16384
    24 kilotavun puskuri = 24576
    32 kilotavun puskuri = 32768
    40 kilotavun puskuri = 40960
    48 kilotavun puskuri = 49152
    56 kilotavun puskuri = 57344
    64 kilotavun puskuri = 65536
  4. Sulje Rekisterieditori.
Varmista, että testaat kutakin arvoa. Aloita 16 kilotavun puskurista. Kun palvelimeen lataamisen suorituskyky on hyväksyttävällä tasolla, valitse sitä vastaava puskuriarvo.

Tila

Tämä toiminta ei ole virhe.

Enemmän tietoa

Kun käytät tämän artikkelin ongelmanratkaisusta kertovan osan toimia, mikä tahansa WININETAPI HTTPSendRequest -funktiota (dokumentoitu seuraavassa Microsoft Developer Network (MSDN) -Web-sivustossa) käyttävä ohjelma varaa ja pyytää Winsock Send -lähetyspuskuria rekisteriavaimen määrittämällä tavalla.

Lisätietoja HTTPSendRequest-funktiosta on seuraavassa MSDS:n Web-sivustossa:
http://msdn2.microsoft.com/en-us/library/aa384247.aspx
Saat lisätietoja Winsock Send -lähetyspuskurin toiminnasta napsauttamalla seuraavaa artikkelin numeroa, jolloin pääset lukemaan artikkelin Microsoft Knowledge Base -tietokannassa:
214397 Suunnitteluongelmat - tietosegmenttien lähettäminen TCP-yhteyden välityksellä käyttäen Winsockia (tämä artikkeli saattaa olla englanninkielinen)

Ominaisuudet

Artikkelin tunnus: 329781 - Viimeisin tarkistus: 5. maaliskuuta 2007 - Versio: 3.3
Artikkelin tiedot koskevat seuraavia tuotteita:
  • 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 seuraavilla käyttöjärjestelmillä
    • 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
Hakusanat: 
kbprb KB329781

Anna palautetta

 

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