问题标签 [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.
load - Autobench 如何定义递减的配置文件负载
我目前正在使用 autobench 来测试个人 Web 服务器。我想定义一个包含 3 个主要步骤的场景:
第 1 步:生成不断增加的请求负载。例如从 low_rate=10 到 high_rate=100,rate=10 ==> 这里一切正常
第 2 步:我希望能够“修复”CPU 负载。例如,如果在第 1 步结束时,我的 CPU 负载约为 50,我希望我的服务器在减少之前保持 50 的负载近 300 万 ==> 是否可以使用 autobench 来做到这一点?如果是,我该怎么做?否则,您能否提出一些有用的工具来激活此步骤?第 3 步:我希望能够做到
第3步:我希望能够从当前CPU负载生成负载为0。例如,像这样配置autobench:low_rate=100 high_rate=10 and rate=-10(负值)==> 不工作?可以用autobench来做吗?如果是怎么办?否则,你给我一些建议来执行我的经验?对不起我的英语不好!
messaging - 使用 HornetQ 核心桥的吞吐量非常低
我们正在尝试使用 HornetQ 存储和转发机制......但是使用核心网桥将消息从一个独立的 HornetQ 实例转发到另一个实例非常慢。我们无法将吞吐率提高到每秒 200 条消息以上。
令人惊讶的事实是,如果我们将同一个客户端(将消息发布到转发 HornetQ 实例)直接指向目标 HornetQ 实例,我们开始观察到每秒超过 1000 条消息的吞吐率(这个客户端是基于 JMS 的)。这基本上意味着在 Forwarding HornetQ 实例和 Destination HornetQ 实例之间配置的核心网桥存在问题。
以下是在 Forwarding HornetQ 上配置核心网桥的相关章节:
以下是在 Destination HornetQ 上配置核心网桥的相关部分:
所有系统变量(CPU/内存/磁盘 IO/网络/等)都未得到充分利用,并且日志中没有错误。
注意:我们已经尝试过 NIO 以及 legacy/old IO。这已经在 HornetQ-2.2.5-Final 和 HornetQ-2.2.8-GA(2.2.8-GA 是从源代码构建的)中尝试过
关于可能导致此问题的原因以及解决方案可能是什么的任何想法?
其他观察:看起来通过核心桥发送的消息是事务性的......那么是否可以批量处理这些事务并使两个 HornetQ 实例之间的通信异步发生?
java - Jmeter:了解吞吐量和 KB/sec 之间的相关性
我有 15 个线程的线程组,每个线程发送一个 32KB 的图像(HTTP POST)。在摘要报告下,我的吞吐量为 550/秒,平均响应时间:25 毫秒,KB/秒显示为 148KB/秒。我发现很难关联这些数字。如果我可以管理 550 个请求/秒并且每个请求是 32KB,那么 KB/秒不应该是 550 * 32 KB/秒吗?
编辑: 即使我只发送一个请求,KB/Sec 下的数字也没有意义。我能够关联所有其他数字。1 个请求的摘要报告:
从上述结果中关联平均时间和吞吐量非常容易。我正在传输的图像大小为 32281 字节(由 linux OS 报告)。正如aroth在评论中指出的那样,我怀疑这是否与压缩有关。我尝试发送 1MB 图像,报告的 KB/Sec 为 12.3。
cuda - cuda 视觉分析器详细信息-> 吞吐量
在详细信息选项卡下的可视化分析器(cuda 工具包 4.1)中有一个称为吞吐量的指标。这仅对 memcpy HtoD DtoH 等有价值。有人知道它到底是什么吗?帮助搜索提供了许多不同的吞吐量(例如全局内存吞吐量等),我无法确定这个指标指的是哪里。
networking - 较小的 UDP 数据包大小是否会阻碍较高带宽网络的吞吐量?
我最近对跨 802.11g 网络的 UDP 吞吐量进行了一项实验,使用的数据包大小在 100 到 1000 之间,带宽从 6Mbps 到 54Mbps 不等。
我注意到更高带宽的性能不如我预期的那样好,我感觉这可能是由于我使用的数据包大小造成的。如果我选择更大的数据包大小,我在更高带宽网络上的吞吐量会更高吗?如果是这样,为什么?
performance - TCP 接收窗口
我试图了解接收器窗口如何影响高延迟连接的吞吐量。
我在相距很远的两台机器上有一对简单的客户端-服务器应用程序,两者之间的连接为 250 毫秒延迟 RTT。我在 Windows (XP, 7) 和 Linux (Ubuntu 10.x) 上运行了这个测试,结果相同,所以为了简单起见,我们假设以下情况:客户端接收数据:WinXP Pro 服务器发送数据:Win7 Pro 再次,延迟为 250 毫秒 RTT。
我在不更改客户端上的接收器缓冲区大小(默认为 8Kb)的情况下运行 TCP 测试,并且在线上看到(使用 Wireshark):
- 客户端向服务器发送 ACKS 并且 TCP 数据包包含 RWIN=65k
- 服务器发送数据并报告 RWIN=65k
查看跟踪,我看到了 3-4 个数据包的突发(有效负载为 1460 字节),紧随其后的是从客户端机器发送到服务器的 ACK,然后在大约 250 毫秒内什么都没有,然后是来自服务器的新数据包突发给客户。
因此,总而言之,服务器似乎在填满接收器窗口之前也没有发送新数据。
为了进行更多测试,这次我还运行了相同的测试,更改了客户端机器上的接收器缓冲区大小(在 Windows 上,更改接收器的缓冲区大小最终会影响机器通告的 RWIN)。我希望在阻塞 ACK 之前看到大量的数据包......并且至少有更高的吞吐量。
在这种情况下,我将 recv 缓冲区大小设置为 100,000,000。从客户端到服务器的数据包现在有一个 RWIN=99,999,744(嗯,这很好),但不幸的是,从服务器发送到客户端的数据模式仍然是相同的:短暂的突发,然后是长时间的等待。为了确认我在网络上看到的内容,我还测量了从服务器向客户端发送大量数据的时间。我没有看到使用大 RWIN 或使用默认值的任何变化。
谁能帮助我理解为什么更改 RWIN 并不会真正影响吞吐量?
几点注意事项: - 服务器使用 8Kb 块的 write() 尽可能快地发送数据 - 正如我之前所说,我在使用 Linux 时也看到了类似的效果。更改接收缓冲区大小会影响节点使用的 RWIN,但吞吐量保持不变。- 我在数百个数据包后分析跟踪,给 TCP 慢启动机制足够的时间来扩大 CWIN 大小。
正如建议的那样,我在这里添加了一个线迹的小快照
如您所见,服务器在数据包 #33 处停止发送数据。
客户端在旧数据包的数据包 #34 处发送 ACK(seq=19305,在数据包 #20 上发送,此处未显示)。使用 100Mb 的 RWIN,我希望服务器不会阻塞一段时间。
在 20-30 个数据包之后,服务器端的拥塞窗口应该足够大,可以发送比我看到的更多的数据包……我假设拥塞窗口最终会增长到 RWIN……但是,即使在一百数据包的模式是相同的:数据数据然后阻塞 250 毫秒......
tcp - iptables过滤性能:TCP和UDP
我写信询问 iptables 在 TCP 和 UDP 过滤中的性能。我正在使用大量 iptables 规则对其进行测试。当 FORWARD 链中有 10 000 个混合 TCP 和 UDP 规则时,我得到 TCP 吞吐量 35.5 Mbits/sec 和 UDP 吞吐量 25.2 Mbits/sec
我很困惑为什么 TCP 吞吐量大于 UDP?我认为 TCP 会因为 ACK 数据包而变慢。我已经用cisco ACL测试过,UDP更快。
PC ---- FW ----- PC 拓扑
performance - Jmeter远程/分布式测试吞吐量错误
我创建了一个简单的测试(只是从 flickr 或 google 等著名站点下载文件。)我在本地运行测试(直接从 jmeter 或与本地运行的 jmeter-server 对话)平均时间为 250 毫秒,吞吐量29.4/秒。然后我在一台主机上远程启动这个测试(它有更好的互联网连接),结果平均时间是 225 毫秒,但吞吐量非常低——比如 2/s 甚至低于 1/s。平均时间数看起来很合理。吞吐量数完全没用。似乎 jmeter 以某种方式计算本地 jmeter 驱动程序和 jmeter 服务器之间的时间,而不是仅仅平均每个 jmeter 服务器所经历的吞吐量。我们如何在远程/分布式测试中获得正确的吞吐量数字?
c# - 如何将 HTTP 响应直接流式传输到网络
我正在使用 WCF 4.0 + REST 编写一个高吞吐量的 Web 服务。Web 服务返回 XML 响应。我的操作方法的返回类型是 XDocument,WCF 负责返回 XML。然而,在内存中构建 XML 响应然后将其返回给调用者并不是很有效。
我正在尝试从 XmlDocument/XDocument 转移到 XmlWriter。在控制台应用程序中,我可以轻松地将响应流式传输到文件,但是 WCF 呢?我可以使用 WebOperationContext、HttpContext 流式传输响应并返回流吗?
谢谢您的帮助!
networking - 吞吐量和传输时间
我不确定我对网络问题的回答。我需要帮助。
计算无所谓。我只想知道在计算吞吐量和传输时间时我会考虑哪些链接或链接。
一个大文件将通过 500 Kbps、2Mbps 和 1Mbps 的 3 条链路从 A 主机发送到 B 主机。
a) 假设系统上只有一个用户,端到端吞吐量是多少?b) 如果文件是 4gb ,传输将持续多长时间?c) 再次回答 a 和 b 选项,认为有 100Kbps 链接而不是 2Mbps 链接。