问题标签 [throttling]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
9 回答
222392 浏览

linux - 在 Linux 上模拟延迟和丢弃的数据包

我想在 Linux 上模拟数据包延迟和丢失,UDPTCP测量应用程序的性能。有没有一种简单的方法可以做到这一点?

0 投票
1 回答
559 浏览

windows - Windows Media Service 中的节流控制

我想知道在 Windows Server 2003 上,在 Windows Media Service 中,我们是否可以为任何文件类型(甚至是 Windows Media Service 流式传输不支持的文件类型)设置/配置限制设置,例如,设置 .flv 文件下载/流式传输将比特率限制为 100k 或将比特率限制控制设置为与编码比特率相同。

我已经搜索了很长时间的 Windows Media Service 手册,但找不到明确记录此功能。

顺便说一句:我只是好奇如果我们放置不受支持的流文件类型,如 .flv 苍蝇,Windows Media Service 的行为是什么。

提前谢谢,乔治

0 投票
1 回答
1693 浏览

wcf - 什么限制了 WCF ServiceModelService.Instances?

我正在尝试使用(IIS6/Server2003/BasicHttpBinding)对 WCF 服务进行负载测试。该服务的限制如下:

为了评估服务器上的调用次数,我使用了 ServiceModelService 3.0.0.0 性能计数器。如果我将 maxConcurrentCalls 限制为 20、15、10 或任何更低的 Instances 性能计数器,则表明 WCF 正在遵守限制。但是,如果我将 maxConcurrentCalls 更改为 30,我将永远无法让 Instances 超过 24。此外,未完成呼叫永远不会超过 24。还有什么可能限制 WCF?

0 投票
6 回答
30134 浏览

c# - WCF 在大约 10 个左右的调用后停止响应(限制)

我有一个 WCF 服务和一个带有对它的服务引用的应用程序,并且对于该应用程序,我有一个循环,并且在每次迭代中,它都会调用这个 wcf web 服务中的一个方法。

问题是在大约 9 次调用之后,它就停止了……如果你Pause按下 VS 的按钮,你会看到它卡在它发出调用的线路上。

在等待一段时间后,会抛出这个TimeoutException :

请求通道在 00:00:59.9970000 之后等待回复时超时。增加传递给 Request 调用的超时值或增加 Binding 上的 SendTimeout 值。分配给此操作的时间可能是较长超时的一部分。


我对此进行了一些研究,发现了一些涉及在应用程序中编辑 app.config 的解决方案,以下是其中的摘录:

.

然后,在我停止调试后,几分钟后,会弹出一条错误消息,告诉我发生了灾难性故障

我该如何解决这个问题?当我使用普通的 Web 服务时,我没有遇到这个问题。


供参考,这里是整个app.config


[更新] 解决方法:

显然,在每次请求之后你必须Close连接......我现在在每次请求后关闭连接,它的工作就像一个魅力。

虽然我仍然无法理解的是,在我的 app.config 中,我将 maxConcurrentCalls 和 maxConcurrentSessions 设置为 500,但我只能设置 10。任何人对此有任何答案吗?(也许我在上面发布的 app.config 中有问题)

上述问题的答案(现在用虚线表示)是因为我正在编辑客户端app.config,而不是服务配置文件(web.config

0 投票
6 回答
5015 浏览

asp.net - 如何在 ASP.NET 中延迟/限制登录尝试?

我正在尝试对我的 ASP.NET Web 项目进行一些非常简单的请求限制。目前我对针对 DOS 攻击的全局限制请求不感兴趣,但想人为地延迟对所有登录尝试的响应,只是为了让字典攻击更难做(或多或少像 Jeff Atwood在这里概述的那样)。

你将如何实施它?这样做的幼稚方式是 - 我想 - 简单地调用

在请求期间的某个地方。建议?:)

0 投票
3 回答
10857 浏览

c# - WCF:如何将 ServiceThrottlingBehavior 添加到 WCF 服务?

我有以下代码用于返回我的 WCF 服务实例ServiceClient

最近我遇到了一些超时问题,所以我决定添加一个限制行为,比如:

我的问题是,我应该在上面的代码中的哪个位置将它添加throttlingBehaviour到我的MusicRepo_DBAccess_ServiceClient实例中?


从我在网上找到的一些例子中,他们正在做这样的事情:

请注意,在上面的代码中,他们使用的是 aServiceHost而我不是,然后他们打开它(使用Open()),而我打开MusicRepo_DBAccess_ServiceClient实例......这让我感到困惑。

0 投票
3 回答
1708 浏览

web-services - 强制 asmx Web 服务一次处理一个请求

我正在调试一个接收“突发”请求的 ASMX Web 服务。即,Web 服务很可能会在大约 1 或 2 秒内收到 100 个异步请求。每个请求似乎需要大约一秒钟的时间来处理(这是意料之中的,我对这个性能很好)。然而重要的是,每个请求都是按顺序处理的,不会发生并行处理。由于 Web 服务调用的外部组件,我不希望任何并发请求处理。有什么办法可以强制 Web 服务只按顺序处理每个响应?

我在 machine.config 中看到了 maxconnection 属性,但这似乎只适用于出站连接,因为我希望限制传入连接。

请注意,此时重构为 WCF 不是一种选择。

我们在 Win2003 上使用 IIS6。

0 投票
8 回答
13997 浏览

wcf - 使用 WSHttpBinding 时,WCF 并发请求堆积在服务器上

我有一个 WCF 客户端/服务器应用程序,它使用 WSHttpBinding 通过 HTTP 进行通信。

服务器设置:自托管,使用标准 WCF ServiceHost。我的实际服务等级归因于:

客户端设置:使用visual-studio生成的客户端代理,使用同步服务调用(proxy.call_server_method阻塞直到服务器完全响应。)

场景:我有一个特定的方法调用,需要 20 秒才能在服务器上执行。客户端在单独的线程中调用此方法,因此它不会被阻止,这ConcurrencyMode.Multiple意味着 WCF 也应该在服务器上的单独线程中执行它。

这个理论得到了以下事实的支持:当我将我的应用程序配置为使用NetTcpBinding时,一切正常。

问题
如果我将应用程序配置为使用WSHttpBinding,那么这个长方法调用会导致 http 请求“备份”。我已经通过检查我的日志和使用 fiddler 调试 HTTP 请求验证了这种行为。

例子:

  • 客户端在后台线程上发起 20 秒长的请求
  • 客户端在前台线程发起请求 B 和 C
  • 请求 B 和 C 被发送到服务器,服务器在完成 20 秒长的请求之前不会处理它们

但有时候:

  • 在 20 秒的请求返回之前(这种情况很少见) ,请求 B 和 C不会被发送(它们甚至不会出现在 fiddler 中)。
    • 注意:<add address="*" maxconnection="100"/>客户端的 app.config 中的设置使这种(似乎)停止发生。
  • 请求 B 被发送并立即收到响应,而请求 C 被阻止直到 20 秒完成(这种情况很少见)

这是 fiddler 展示问题的时间线:(点击查看大图)

如您所见,请求都在服务器上得到备份。一旦 20 秒的请求完成,所有响应都会涌入,但请注意,有些请求没有被阻止......

所以,问题

  • 这到底是怎么回事?为什么它可以正常使用NetTcpBinding而不能使用WSHttpBinding
  • 为什么不一致的行为?
  • 我能做些什么来修复它?

笔记:

  • 它没有锁定在服务器上。我已经设置了断点并使用!syncblk了它,它始终报告没有锁被持有。
  • 这不是我的线程(否则 NetTcpBinding 不应该工作)
  • 我已经<serviceThrottling maxConcurrentCalls="1000" maxConcurrentInstances="1000" maxConcurrentSessions="1000" />在服务器的 app.config 中设置了
  • 20 秒的调用只是在等待计时器,它不会破坏 CPU、磁盘或网络
  • 我更喜欢不涉及重新构建应用程序以使用异步调用的解决方案......这是一大堆遗留代码,我真的不想弄乱我不理解的东西。
0 投票
1 回答
21523 浏览

c# - 如何以编程方式限制我的 c# 应用程序的带宽使用?

我这里有一个备份应用程序,它连接到各种 web 服务并从 ftp 或 http 服务器下载/上传文件。限制我的应用程序带宽使用的最简单方法是什么?

我需要这样做,因为一旦安装并运行该应用程序将减慢所有办公室人员的互联网访问速度,这最终会让我陷入地狱。因此,我想实施一个限速,该限速在工作时间处于活动状态,并在晚上被禁用。

0 投票
8 回答
43521 浏览

wcf - WCF 中的服务太忙错误

我在 .Net WCF 服务中间歇性地收到以下异常。“位于http://MyServer/TestWCF/MyService.svc的 HTTP 服务太忙了。”

我在这里错过了什么吗?

我正在使用基本的 http 绑定并启用了 WCF 限制。

. . . .

节流有助于解决问题吗?另外,我可以知道为高流量网站节流的推荐参数值吗?