文章編號 : 329781 上次校閱 : 2007年3月5日 版次 : 3.4 重要:本文包含有關修改登錄的相關資訊。修改登錄之前,請務必將它備份起來,並瞭解如何在發生問題時還原登錄。如需有關如何備份、還原和編輯登錄的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件: 256986 (http://support.microsoft.com/kb/256986/) Microsoft Windows 登錄說明 徵狀 當您使用 HTTP 檔案上載功能上載多個 MB 大小的檔案時,上載作業可能要花費很長時間才能完成。 注意 這個問題已記載於「要求建議」(RFC) 1867 的「使用 HTML 的表單檔案上載」(Form-based File Upload in HTML) 中。 回此頁最上方 發生的原因 之所以發生這個問題,是因為預設的 Winsock「傳送」緩衝區為 8 KB,因此 Internet Explorer 會以 8 KB 的區塊提供資料。在一般網路上,不論網路頻寬為何,這等於每秒約 80 KB (KBps) 的傳送速度。 如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件: 214397 (http://support.microsoft.com/kb/214397/) Design issues - Sending small data segments over TCP with Winsock 回此頁最上方 解決方案 如果要解決這個問題,請設定 Internet Explorer 以增加與 Winsock 進行通訊時所使用的「傳送」緩衝區大小。如此,當您使用 HTTP 檔案上載方法時,便可提升網路效能。如果要執行這項操作,請依照下列步驟執行。 警告:不當使用「登錄編輯程式」可能會導致嚴重的問題,甚至必須重新安裝作業系統。Microsoft 不保證可以解決您不當使用「登錄編輯程式」所導致的問題。請自行承擔使用「登錄編輯程式」的一切風險。 1. 啟動 [登錄編輯程式] (Regedt32.exe)。 2. 找出並按一下下列登錄機碼: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings 3. 在 [編輯] 功能表上,按一下 [新增值],然後新增下列登錄值: 數值名稱:SocketSendBufferLength 資料類型:REG_DWORD 底數:十進位 數值資料:需要的緩衝區大小 (單位為位元組) 緩衝區大小值選項: 16-KB 緩衝區 = 16384 24-KB 緩衝區 = 24576 32-KB 緩衝區 = 32768 40-KB 緩衝區 = 40960 48-KB 緩衝區 = 49152 56-KB 緩衝區 = 57344 64-KB 緩衝區 = 65536 4. 結束 [登錄編輯程式]。 請務必從 16-KB 緩衝區開始,測試每個值。當上載效能變得可以接受時,請選取對應的緩衝區值。 回此頁最上方 狀況說明 這是原本設計的作法。 回此頁最上方 其他相關資訊 當您使用本文<解決方案>一節所述的程序時,任何使用 WININETAPI HTTPSendRequest 函數 (如下列 Microsoft Developer Network (MSDN) 網站所記載) 的程式都會依照登錄機碼所定義,配置及要求 Winsock「傳送」緩衝區。 如需有關 HTTPSendRequest 函數的詳細資訊,請造訪下列 MSDN 網站: http://msdn2.microsoft.com/en-us/library/aa384247.aspx (http://msdn2.microsoft.com/en-us/library/aa384247.aspx) 如需有關 Winsock「傳送」緩衝區行為的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件: 214397 (http://support.microsoft.com/kb/214397/) Design issues - Sending small data segments over TCP with Winsock 回此頁最上方 | |||||
相關網址:http://support.microsoft.com/kb/329781/zh-tw | http://support.microsoft.com/kb/329781/zh-tw |
2007年7月1日 星期日
HTTP 檔案上載作業花費很長時間才能完成
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言