问题标签 [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 投票
4 回答
4425 浏览

java - 上传超大 (> 1GB) 文件的建议

我知道 SF 中存在此类问题,但它们非常具体,我需要一个通用的建议。我需要一个上传用户文件的功能,它的大小可能超过 1 GB。此功能将是应用程序中现有文件上传功能的附加功能,适用于较小的文件。现在,这里有一些选项

  1. 使用 HTTP 和 Java 小程序。以块的形式发送文件并在服务器上加入它们。但是如何限制 n/w。
  2. 使用 HTTP 和 Flex 应用程序。它是否比小程序 wrt 浏览器兼容性和任何其他环境问题更好?
  3. 使用 FTP 或 SFTP 而不是 HTTP 作为协议以加快上传过程

请建议。

此外,我必须确保此上传过程不会妨碍其他用户的任务,或者换句话说,不会占用其他用户的 b/w。任何可以在 n/w 级别完成以限制此类进程的机制?

最终,客户希望选择 FTP。但我认为以编程方式处理文件的答案也很酷。

0 投票
1 回答
371 浏览

email - 在 Windows Server 2008 上限制电子邮件的最佳方法

我有一个为我网站的出站电子邮件设置了 SMTP 的服务器。为了不被列入黑名单,我想将出站电子邮件限制在任意阈值以下(比如说每小时 500 封)。实现这一点的最佳方法是什么?

我看到的两种可能性是:

1) SMTP 虚拟服务器中的某种出站限制(如果不在成熟的 Exchange 服务器上,不确定这是否可能)

2) 创建一个 Windows 服务,轮询数据库表中的电子邮件,处理前 N 个结果,然后休眠 X 分钟。

这些都是最好的方法吗?

0 投票
9 回答
32747 浏览

java - 在 Java 中限制线程的 CPU/内存使用?

我正在编写一个将运行多个线程的应用程序,并希望限制这些线程的 CPU/内存使用率。

C++有一个类似的问题,但我想尽可能避免使用 C++ 和 JNI。我意识到使用更高级别的语言可能无法做到这一点,但我很想知道是否有人有任何想法。

编辑:增加了赏金;我想要一些非常好的,深思熟虑的想法。

编辑2:我需要这个的情况是在我的服务器上执行其他人的代码。基本上它是完全任意的代码,唯一的保证是类文件上会有一个 main 方法。目前,在运行时加载的多个完全不同的类作为单独的线程同时执行。

按照它的编写方式,重构为每个执行的类创建单独的进程会很痛苦。如果这是通过 VM 参数限制内存使用的唯一好方法,那就这样吧。但我想知道是否有办法用线程来做到这一点。即使作为一个单独的进程,我也希望能够以某种方式限制它的 CPU 使用率,因为正如我之前提到的,其中几个将同时执行。我不希望无限循环占用所有资源。

编辑 3:近似对象大小的一种简单方法是使用 java 的Instrumentation类;具体来说,getObjectSize 方法。请注意,使用此工具需要一些特殊设置。

0 投票
3 回答
8981 浏览

sockets - 'ab' 程序在大量请求后冻结,为什么?

每当我使用 'ab' 对 Web 服务器进行基准测试时,它会在发送大量请求后冻结一段时间,仅在 20 秒左右后继续。

考虑以下用 Ruby 编写的 HTTP 服务器模拟器:

然后我运行 ab 如下:

在最初的几秒钟内,ab 完成了它应该做的工作并使用了 100% 的 CPU:

在大约 13500 个请求之后,系统 CPU 使用率下降到 0%。ab 似乎被什么东西冻结了。问题不在服务器上,因为此时服务器正在调用accept()。大约 20 秒后,ab 继续,好像什么都没发生一样,并且将再次使用 100% CPU,只是在几秒钟后再次冻结。

我怀疑内核中的某些东西正在限制连接,但是什么以及为什么?我正在使用 OS X Leopard。我在 Linux 上也看到过类似的行为,尽管冻结发生在更多请求的情况下,并且不会经常发生。

这个问题使我无法运行大型 HTTP 基准测试。

0 投票
2 回答
1418 浏览

yahoo-pipes - Yahoo-Pipes Throttles 请求:限制是什么?

昨天,我开始在 Yahoo-Pipes 上遇到“999”错误。看起来他们限制了来自给定 IP 地址的请求。

有谁知道 Yahoo-Pipes 的每分钟请求数限制?

0 投票
7 回答
25420 浏览

php - 如何限制我网站的 API 用户?

我网站的合法用户偶尔会使用导致不良结果的 API 请求来敲击服务器。我想制定一个不超过每 5 秒一次 API 调用或每分钟 n 次调用的限制(还没有弄清楚确切的限制)。我显然可以在数据库中记录每个 API 调用并对每个请求进行计算以查看它们是否超过限制,但是每个请求的所有这些额外开销都会违背目的。我可以使用哪些其他资源较少的方法来制定限制?我正在使用 PHP/Apache/Linux,这是值得的。

0 投票
3 回答
2100 浏览

language-agnostic - 由于客户端读取数据速度不够快而导致套接字节流?

我有一个通过 TCP 套接字的客户端/服务器连接,服务器尽可能快地写入客户端。

查看我的网络活动,生产客户端以大约 2.5 Mb/s 的速度接收数据。

我编写的一个新的轻量级客户端只是读取和基准速率,其速率约为 5.0Mb/s(这可能是服务器可以传输的最大速度左右)。

我想知道这里的费率是由什么决定的,因为客户端没有向服务器发送数据来告诉它任何速率限制。

0 投票
2 回答
560 浏览

flash - Flash 中的 YouTube 风格节流

我可能在这方面完全疯了,但似乎 YouTube 视频的下载/缓冲速率在开始时更快,缓冲点离当前播放标记越远,缓冲越慢。

我疯了,还是其他人都这样?

假设是后者,关于他们如何做到这一点的任何理论?是服务器端还是客户端?我认为它必须是客户端,但谁知道呢?不是我,这就是我问的原因!

0 投票
14 回答
103783 浏览

java - N 秒内对 M 个请求的限制方法调用

我需要一个组件/类,它可以在 N 秒(或 ms 或 nanos,没关系)内将某些方法的执行限制为最大 M 调用。

换句话说,我需要确保我的方法在 N 秒的滑动窗口中执行不超过 M 次。

如果您不知道现有课程,请随时发布您的解决方案/想法,您将如何实现这一点。

0 投票
6 回答
33231 浏览

c# - 为 Web 请求实现速率限制算法的最佳方法是什么?

可能/部分重复:

我正在寻找为 Web 应用程序实现移动时间窗口速率限制算法以减少垃圾邮件或暴力攻击的最佳方法。

使用示例是“过去 5 分钟内来自给定 IP 的最大失败登录尝试次数”、“过去 N 分钟内(帖子/投票/等)的最大数量”。

我更喜欢使用移动时间窗口算法,而不是每 X 分钟硬重置一次统计数据(如 twitter api)。

这适用于 C#/ASP.Net 应用程序。