草庐IT

java - 15GB 后数据传输速率变慢,用于更大的文件传输

我在发送大于15GB的文件时遇到数据传输速率问题。我有3台服务器和一个客户端。从客户端向服务器发送文件时,我将文件分成block(每个block通常为256MB),每个block在2个服务器上复制。复制发生在管道方法中。发送block时,每个block被切成更小的数据包(每个数据包通常为128KB),发送到服务器,并在服务器端合并存储在硬盘中。这里一切都很好。我以5GB的增量测试了5GB到50GB文件的系统。所有文件的平均写入速度约为600MB/秒。见下表。这里我是和HDFS比较的。从服务器读取相同文件时会出现此问题。文件分布在多个服务器上。例如,我可以从server1读取block1

c# - 如何计算传输速率speed kb/s SOCKETS c#

如何计算以千字节每秒为单位的传输速率,我使用了秒表但它不起作用,因为它给我一个关于div为零的错误(count/0)publicvoidsendFile(stringfilePath){StopwatchstopWatch=newStopwatch();FileInfofile=newFileInfo(filePath);try{intfileSize=(int)file.Length;Program.mainForm.MaxProgressBarHandler(fileSize);byte[]fileDetial;stringdetail=file.Name+","+fileSize

c# - 如何使用 TcpClient 对上传进行速率限制?

我正在编写一个将上传大量文件的实用程序,并希望提供对上传进行速率限制的选项。使用TcpClient类时限制上传速率的最佳方法是什么?我的第一直觉是一次使用有限数量的字节调用NetworkStream.Write(),在调用之间休眠(如果流尚未完成写入则跳过调用)直到上传缓冲区。以前有人实现过类似的东西吗? 最佳答案 实现限速相对容易,看看下面的代码片段:constintOneSecond=1000;intSpeedLimit=1024;//Speedlimit1kib/sintTransmitted=0;StopwatchWatch

networking - 传输 100kb/s 的网络的实际位传输速率是多少?

例如,当通过Internet传输1GB的数据时,这些数据被分成数据包,每个数据包包含一小块数据,并且每个数据包都是帧的一部分。例如。Windows报告您正在通过TCP连接以100kb/s的速度传输文件,但这似乎是每秒传输的文件数据量,并且似乎不包括ip或tcpheader或以太网帧。以这种速度传输所需的网络实际流量是多少?还是该数据实际上已经包含在传输速度中,但只是小到没有显着差异?此外,IP最多支持1500字节/数据包(我认为?),但是在加载reddit上的高清图像时,数据包的常见大小是多少?很抱歉我现在可能应该自己弄清楚这些相当基本的问题...... 最

c - 以编程方式确定最大传输速率

我有一个问题,需要我计算可用的最大上传和下载,然后将我的程序的使用限制在它的一定百分比内。但是,我想不出找到最大值的好方法。目前,我能想到的唯一解决方案是在客户端和服务器之间传输几兆字节,然后测量传输所用的时间。然而,这种解决方案是非常不可取的,因为对于100,000个客户端,它可能会导致我们服务器的带宽使用量增加太多(这已经太高了)。有没有人能解决这个问题?请注意,我最感兴趣的是在离开ISP网络之前传输的数据的限制;我认为这是最有可能导致其他程序通信降级的瓶颈发生的地方。不过,如果我错了,请纠正我。编辑:经过进一步调查,我认为这是不可能的;涉及的变量太多,无法准确测量离开ISP网络时

iOS Swift - AVCaptureSession - 根据帧速率捕获帧

我正在尝试构建一个应用程序,该应用程序将从相机捕获帧并使用OpenCV处理它们,然后再将这些文件保存到设备,但以特定的帧速率。我现在坚持的事实是AVCaptureVideoDataOutputSampleBufferDelegate似乎不遵守AVCaptureDevice.activeVideoMinFrameDuration或AVCaptureDevice.activeVideoMaxFrameDuration设置。captureOutput的运行速度远高于上述设置所示的每秒2帧。您是否碰巧知道如何在有或没有委托(delegate)的情况下实现这一目标?ViewController:

java - Logback SMTPAppender 限制速率

如何限制Logback的电子邮件速率SMTPAppender,这样它最多每n分钟给我发一次电子邮件?我已经根据Logbackappender设置了我的日志记录,但我不太明白如何配置或子类化来实现它。是否有隐藏功能?有人开发了一个子类来处理这个吗? 最佳答案 根据文档,执行此操作的方法似乎是编写一个EventEvaluator(参见示例4.14和4.15),它查看每个事件的时间戳,以便仅在“足够的时间”后才接受事件最后一个事件被接受。您可以使用System.currentTimeMillis获取一个数字,您可以对其进行数学计算以计算时

python - Celery:对具有相同参数的任务进行速率限制

我正在寻找一种方法来限制何时调用函数,但仅限于输入参数不同时,即:@app.task(rate_limit="60/s")defapi_call(user):do_the_api_call()foriinrange(0,100):api_call("antoine")api_call("oscar")所以我希望api_call("antoine")每秒调用60次和api_call("oscar")每秒60次。关于我该怎么做的任何帮助?--编辑27/04/2015我曾尝试在任务中使用rate_limit调用子任务,但它也不起作用:rate_limit始终应用于所有实例化的子任务或任务(这

python - python中的udp速率限制?

原帖更新:一位同事指出我做错了什么。我会在帖子底部给出解释,因为它可能会有所帮助对于其他人。我正在尝试对网络性能的限制有一个基本的了解的python程序,并遇到了异常。代码片段while1:sock.sendto("a",target)将UDP数据包发送到目标机器,与主机发送的速度一样快。我测量的发送速率刚刚超过每秒4000个数据包,或250us每包。这看起来很慢,即使对于像python这样的解释型语言也是如此(该程序运行在2GHzAMDopteron、Linux、python版本2.6.6上)。我在Python中看到了更好的TCP性能,所以我觉得这有点奇怪。如果我在后台运行它并运行t

python - aiohttp:限制并行请求的速率

API通常具有用户必须遵守的速率限制。例如,我们以每秒50个请求为例。顺序请求需要0.5-1秒,因此速度太慢,无法接近该限制。然而,使用aiohttp的并行请求超过了速率限制。要尽可能快地轮询API,需要限制并行调用的速率。目前我发现的装饰session.get的例子,大致如下:session.get=rate_limited(max_calls_per_second)(session.get)这适用于顺序调用。尝试在并行调用中实现这一点不会按预期工作。这里有一些代码作为例子:asyncwithaiohttp.ClientSession()assession:session.get=r