问题标签 [throughput]

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 回答
6284 浏览

c - 使用循环计数计算吞吐量

是否可以根据应用程序消耗的周期计数(处理器指令周期)确定处理器上应用程序的吞吐量?如果是,如何计算?

0 投票
2 回答
1814 浏览

actionscript-3 - AS3:计算当前上传速度(或吞吐量)

我正在使用 FileReference 类的 upload() 方法上传文件。我想显示当前的连接速度,我想知道这样做的好方法是什么。

我目前的技术是每 1 毫秒使用一次计时器,如下所示:

并且 currentBytes 被设置到 ProgressEvent.PROGRESS 中。这种技术似乎不精确。我想知道在上传和实时显示时可以使用哪些其他方法来计算上传速度。

欢迎任何想法或意见!

非常感谢,

鲁迪

0 投票
3 回答
7091 浏览

throughput - 服务器吞吐量是什么意思

如果吞吐量增加,响应和请求时间将如何改变?如果我有数据(请求/分钟)?

0 投票
2 回答
1001 浏览

google-app-engine - Google App Engine Cloud 基础架构上的 Stack Exchange API 兼容请求限制实现

我一直在为 Stack Exchange 编写 Google Chrome 扩展程序。这是一个简单的扩展,可让您跟踪您的声誉并在 Stack Exchange 网站上收到评论通知。

目前我遇到了一些我自己无法处理的问题。我的扩展使用 Google App Engine 作为后端向 Stack Exchange API 发出外部请求。扩展程序对单个站点上的新评论的每个单个客户端请求都可能导致对 api 端点的大量请求以准备响应,即使对于非 skeetish 用户也是如此。普通用户至少在 Stack Exchange 网络的 3 个站点上拥有帐户,有些拥有 > 10 个!

Stack Exchange API 有请求限制:
单个 IP 地址每天只能发出一定数量的 API 请求(10,000)。
如果我在 5 秒内从单个 IP 地址发出超过 30 个请求,API 将切断我的请求。

很明显,所有请求都应限制为每 5 秒 30 次,目前我已经基于带有 memcached 的分布式锁实现了请求限制逻辑。我使用 memcached 作为一个简单的锁管理器来协调 GAE 实例的活动并限制 UrlFetch 请求。
但我认为将如此强大的基础设施限制为每 5 秒发出不超过 30 个请求是一个很大的失败。这样的 api 请求率不允许我继续开发新的有趣和有用的功能,并且有一天它会完全停止正常工作。
现在我的应用程序有 90 个用户并且还在增长,我需要提出如何最大化请求率的解决方案。

众所周知,App Engine 通过相同的不同 IP 池发出外部 UrlFetch 请求。我的目标是编写请求限制功能,以确保符合 api 使用条款并利用 GAE 分布式功能。

所以我的问题是如何在遵守 api 使用条款和利用 GAE 分布式功能的同时提供最大的实际 API 吞吐量。

建议使用另一个平台/主机/代理在我看来是没用的。

0 投票
1 回答
277 浏览

c# - 我如何知道我在 c# 中收到了多少 udp 数据(包括坏数据)

我想知道到达我的 updclient 的数据量,包括损坏/坏数据、数据包头等。我想使用 udp 计算吞吐量。

谢谢。

0 投票
1 回答
163 浏览

.net - 如何测试我的应用程序的网络足迹?

我没有网络管理经验,如果这是一个笨拙的问题,请道歉。

我有一个 .NET 应用程序要在我的客户站点本地部署。他们有硬件来做到这一点,但担心网络能力。

基础设施

  • 我的客户端有一个 2mb 的上传/下载网络连接。
  • 他们目前为 260 个用户提供网络邮件服务。

网络应用

  • 该网络应用程序将被约 200 名用户使用
  • 每个用户每周可能会登录几次,一天中没有高峰时间。
  • 平均使用可能涉及大约 5 个相当小的表单页面(5-15 个字段)的下载/上传

我的直觉是这是非常低的使用率,并且不应该对他们当前的设置造成太大影响。但是,如果可能的话,我想验证一下。

0 投票
1 回答
763 浏览

windows - 多线程 Windows 服务 - Erlang

我将告诉我必须解决的问题,如果我走在正确的道路上,我需要一些建议。

问题是:

我需要创建一个接收请求并执行某些操作的 Windows 服务应用程序。(Socket通信)这个动作是执行一个脚本(可能是lua或perl)。这个脚本模拟客户端的业务规则,在数据库中查询,在网站中发出请求,然后向客户端发送响应。

有3个强制性要求:

  1. 该服务会同时收到大量请求。所以我想用worker的线程模型。
  2. 该服务必须具有高吞吐量。我将在同一秒内收到许多请求。
  3. 低延迟:我必须非常快速地响应这些请求。

每个请求都会生成一个日志条目。由于 I/O 时间过长,我无法在脚本执行的同时将这些日志条目写入物理磁盘。可能我会在内存中创建一个队列,其他线程将消耗这个队列并写入磁盘。

将来,两个woker的线程可能要更改消息。

我必须为此服务制定协议。我正在考虑使用 Thrift,但我不知道所涉及的开销。也许我会制定自己的协议。

要编写 Windows 服务,我正在考虑使用 Erlang。这是个好主意吗?

有没有人有解决这个问题的建议/提示?编写此服务的最佳语言是哪种?

0 投票
2 回答
177 浏览

linux-kernel - 当线程多于内核时Linux调度程序的吞吐量

我已经对 linux 调度程序进行了一些测量。linux 是“Linux 版本 2.6.18-194.el5 (mockbuild@x86-005.build.bos.redhat.com)”,机器配备 8 个 CPU。测量是该机器上的唯一工作负载。

测量是两组。在第一组中,设置了 8 个线程,每个线程的计算成本相同。第二组是将一个线程一分为二,总共有 9 个线程(其中 2 个是其他 7 个线程成本的一半)。

当我运行这两个测量集时,我希望吞吐量是相同的,因为总计算成本是相同的,并且 linux 调度程序应该(虽然我不确定)将这两个较小的线程安排在一个内核中。结果证明吞吐量从 8 个线程显着减少到 9 个线程。任何人都有想法可能是什么原因。

编辑:@Waldheinz。这些线程是按顺序设置的(​​比如 0、1 ... 7),并且(无休止的)元组流从线程 0、1 到线程 7。每个元组在每个线程上花费一些时间,进行一些计算。所有 8 个线程的计算成本与第一组测量中的相同。

更新:如果线程数改为 16,意味着每个核心有两个线程,吞吐量提高到 8 个线程的情况...

0 投票
4 回答
6435 浏览

image - 使用 ImageMagick convert 处理大图像 - 需要更多吞吐量

我正在将一些较大的图像从多图像(金字塔形)tif 转换为 png 格式。最大图像上“identity -verbose”报告的主要部分如下:

我打算使用 deepzoom 作曲家为带有此图像的 Silverlight 多尺度图像控件生成输入。我的问题是如何在使用 ImageMagick 处理这些图像时让我的系统崩溃——转换它们需要很长时间。我看了几篇文章,但我似乎无处可去。

一些系统和其他相关信息:

这是“识别-列表资源”的结果:

我正在运行这个命令来提取上面引用的图像:

添加两个极限值似乎没有什么不同。当我运行它时,我平均大约 10% 的 CPU 使用率并且页面文件提交大小为 3BG。我几乎不能说它正在运行。

Q1) 我还能做些什么来让 ImageMagick 使用更多的系统资源?我发现的大多数“大图”链接都在问相反的问题。

Q2) 更改位于此处的“policy.xml”值(例如文件):C:\Program Files\ImageMagick-6.7.1-Q16\www\source 似乎没有任何影响 - 更改没有出现在下一个“识别列表资源。” 这有什么诀窍吗?

Q3) 对于这个任务还有什么其他的提示或想法吗?

谢谢,大卫

0 投票
4 回答
10693 浏览

c++ - C++ 套接字编程:最大化本地主机的吞吐量/带宽(我只得到 3 Gbit/s 而不是 23GBit/s)

我想创建一个 C++ 服务器/客户端,以最大限度地提高本地主机上 TCP 套接字通信的吞吐量。作为准备,我使用iperf来了解 i7 MacBookPro 的最大带宽是多少。

没有任何调整,ipref 告诉我我可以达到至少 23.2 GBit/s。然后我做了我自己的 C++ 服务器/客户端实现,你可以在这里找到完整的代码:https ://gist.github.com/1116635

在那个代码中,我基本上用每个读/写操作传输一个 1024 字节的 int 数组。所以我在服务器上的发送循环如下所示:

我在客户端的接收循环如下所示:

正如标题中提到的,运行它(使用 -O3 编译)会导致以下执行时间约为 3 GBit/s:

我在哪里失去带宽,我做错了什么?同样,完整的代码可以在这里看到:https ://gist.github.com/1116635

任何帮助表示赞赏!