C# 使用C限制或回退web请求#

C# 使用C限制或回退web请求#,c#,rest,parallel-processing,C#,Rest,Parallel Processing,我正在编写一个程序,该程序必须尽快进行几千次RESTAPI调用。如果我以串行方式(即一个接一个地)生成它们,那么就没有瓶颈,但是RESTAPI的主机可以并行处理它们。。。。在一定程度上 我已经对发出请求的代码进行了并行处理,但我注意到RESTAPI一次可以处理多少请求有一个“最佳点” 我目前的方法是并行处理,比如说,4个线程,以及每个请求完成所需的时间。我用秒表计时所有请求,并计算平均值。如果平均时间开始增加,那么我会在发出下一个请求之前增加一个人工延迟;如果平均值开始减少,那么我会减少延迟。然

我正在编写一个程序,该程序必须尽快进行几千次RESTAPI调用。如果我以串行方式(即一个接一个地)生成它们,那么就没有瓶颈,但是RESTAPI的主机可以并行处理它们。。。。在一定程度上

我已经对发出请求的代码进行了并行处理,但我注意到RESTAPI一次可以处理多少请求有一个“最佳点”

我目前的方法是并行处理,比如说,4个线程,以及每个请求完成所需的时间。我用秒表计时所有请求,并计算平均值。如果平均时间开始增加,那么我会在发出下一个请求之前增加一个人工延迟;如果平均值开始减少,那么我会减少延迟。然而,我注意到,随着时间的推移,平均时间仍在缓慢上升,这意味着我已经跨过了最佳点


我所寻找的是一些关于如何找到和跟踪这个最佳点的指导或建议。如果您能收到C#中的示例,我将不胜感激,但原则上我也会对这些想法感兴趣。

您不想使用反向代理进行负载平衡有什么原因吗?问得不错。。。老实说,这不是我想到的。你的意思是用请求淹没API,让负载平衡器来处理它?是的,只要你有额外的“机器”,如果你只是想实现某个目标,那么这可能是更容易的途径。老实说,我更愿意在一台机器上完成。就像我说的,这是关于微调,以找到一个绝对的最佳点。我认为负载均衡器对于实现这一目标来说是一个钝的工具。你有没有理由不想使用反向代理来进行负载平衡?这是一个相当好的问题。。。老实说,这不是我想到的。你的意思是用请求淹没API,让负载平衡器来处理它?是的,只要你有额外的“机器”,如果你只是想实现某个目标,那么这可能是更容易的途径。老实说,我更愿意在一台机器上完成。就像我说的,这是关于微调,以找到一个绝对的最佳点。我认为负载平衡器将是实现这一目标的有力工具。