Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#网络客户端上传速度_C#_Performance_Upload_Webclient - Fatal编程技术网

C#网络客户端上传速度

C#网络客户端上传速度,c#,performance,upload,webclient,C#,Performance,Upload,Webclient,我想知道是否有可能增加WebClient异步数据上传的缓冲区大小,因为目前它的最大速度为320kB/s 我当前的代码: using (WebClient Client = new WebClient()) { byte[] Buffer = File.ReadAllBytes(this.WorkItem.FileLocation); Client.UploadProgressChanged += new UploadProgressChangedEventHandler(Cli

我想知道是否有可能增加WebClient异步数据上传的缓冲区大小,因为目前它的最大速度为320kB/s

我当前的代码:

using (WebClient Client = new WebClient())
{
    byte[] Buffer = File.ReadAllBytes(this.WorkItem.FileLocation);

    Client.UploadProgressChanged += new UploadProgressChangedEventHandler(Client_UploadProgressChanged);
    Client.UploadDataCompleted += new UploadDataCompletedEventHandler(Client_UploadDataCompleted);
    Client.UploadDataAsync(new Uri("-snip-"), Buffer);
}
编辑

连接不是限制因素。(它的300位连接,web服务器以大约30-40mB/s的速度推送内容)

如果您想要更多地控制数据的缓冲方式,您需要使用
HttpWebRequest
类。使用该类,您可以选择从
文件流中读取的读取缓冲区,然后选择写入网络流的量。进行4MB的读取和32KB的写入对于最大限度地提高我的网络吞吐量是最理想的(尽管您必须自己进行基准测试,以查看哪些缓冲区在您的场景中工作得最好)。

以及您的连接速度如何?您确定这不是网络/连接的限制吗?0.3Mbps的上行声音对于许多连接来说都是正确的…重新编辑;这是你在自言自语吗?几乎任何其他组合都可能会有其他因素制约您……我已经在同一数据中心测试了专用服务器对其他专用服务器的连接,并测试了我对专用服务器的连接。两种情况下的速度相同。