Как определить размер буфера при загрузке файла с использованием HttpWebRequest и HttpWebResponse?
Я использую HttpWebRequest / HttpWebResponse для загрузки файла изображения с удаленного сервера на свой собственный веб-сервер. Код работает нормально, но я не знаю, является ли размер буфера, который я выбрал, оптимальным для лучшей производительности.
Как мне выбрать правильный размер буфера?
Мой код ниже - вы можете видеть, что он в настоящее время использует размер буфера 4096 - это просто произвольное число, которое я выбрал:
' Create the web request
Dim myWebRequest As HttpWebRequest = HttpWebRequest.Create("http://www.petiquettedog.com/wp-content/uploads/2010/04/sadpug-300x225.jpg")
' Automatically decompress gzip/deflate compressed images. This line sets the Accept-Encoding header to "gzip, deflate"
myWebRequest.AutomaticDecompression = DecompressionMethods.GZip or DecompressionMethods.Deflate
Using myWebResponse As HttpWebResponse = myWebRequest.GetResponse()
' Download the image to disk
Using streamIn As Stream = myWebResponse.GetResponseStream()
Using streamOut As FileStream = File.Create(localFilePhysical)
Dim bufferSize As Integer = 4096
Dim bytes(bufferSize) As Byte
Dim numBytes As Integer
numBytes = streamIn.Read(bytes, 0, bufferSize)
While numBytes > 0
streamOut.Write(bytes, 0, numBytes)
numBytes = streamIn.Read(bytes, 0, bufferSize)
End While
End Using
End Using
End Using