Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.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#_Math_Testing_Scheduling_Messaging - Fatal编程技术网

C# 如何聚集一系列消息

C# 如何聚集一系列消息,c#,math,testing,scheduling,messaging,C#,Math,Testing,Scheduling,Messaging,我正在编写一个测试应用程序,用于对服务器进行压力测试。我有一个在给定时间间隔内需要发送的消息列表,但我感兴趣的不仅仅是以统一的间隔发送它们,而是将消息“聚集”在一起以模拟突发。这将由UI中的滑块控制-一端是均匀的,另一端是“块状的”。有没有一种简洁的数学方法可以做到这一点?以下是我认为可行的方法: var rngClumpMax = new Random(); var clumpMin = 1; var clumpMax = 1; var clumpSize = 1; clumpSize =

我正在编写一个测试应用程序,用于对服务器进行压力测试。我有一个在给定时间间隔内需要发送的消息列表,但我感兴趣的不仅仅是以统一的间隔发送它们,而是将消息“聚集”在一起以模拟突发。这将由UI中的滑块控制-一端是均匀的,另一端是“块状的”。有没有一种简洁的数学方法可以做到这一点?

以下是我认为可行的方法:

var rngClumpMax = new Random();
var clumpMin = 1;
var clumpMax = 1;
var clumpSize = 1;

clumpSize = rngClumpMax.Next(clumpMin, clumpMax);

while (true)
{
    List<string> messages = FetchMessages(clumpSize);
    if (messages.Count > 0)
    {
        SendMessages(messages);
    }
    else
    {
        break;
    }
}
var rngClumpMax=new Random();
var-clumpMin=1;
var-pmax=1;
var-clumpSize=1;
clumpSize=rngClumpMax.Next(clumpMin,clumpMax);
while(true)
{
列表消息=获取消息(集群化);
如果(messages.Count>0)
{
发送消息(消息);
}
其他的
{
打破
}
}
滚动条可以设置
clumpMax
的值,因此您可以从滚动条生成大小介于1和一些
N
值之间的块


如果你有一个双滚动控件,你甚至可以设置
clumpMin
,并在
clumpMin
clumpMax
之间生成一个随机的
clumpSize
,所以假设你有一个滑块,max,一个时间间隔T,你可以分成N个部分,以及你想要发送的消息总数M。然后在时间段N,我会发送

(M/N)*(max(1-slider/max)+k*(slider/max)cosine(PI*N/T))

当slider=0时,这将提供总体一致性,每个间隔都有M/N消息到达。当slider=max时,均匀性将完全减弱,您可以调整参数k,使聚集更加极端。

那么,这与编程有什么关系?至少用一个编程语言来标记这个问题……FWIW,C#。但它可以是任何语言。这是“编程”,因为我正在编写代码来实现它,我想?您可能需要一些类似于到达服务器的消息的Erlang分发()的东西。如果没有,维基百科的文章将为你指出我们研究的方向。你能给我们更多的信息吗?这些是什么样的“信息”?您是想用网络协议来实现这一点,还是只需要一个“聚集”的字符串消息?这些消息只是XML字符串。不需要协议,我只需要调整发送消息之间的时间,以便在刻度的一端,消息以相等的间隔到达,在另一端,消息以成组的方式到达。