【发布时间】:2012-04-10 01:03:52
【问题描述】:
我有 15 个线程的线程组,每个线程发送一个 32KB 的图像(HTTP POST)。在摘要报告下,我的吞吐量为 550/秒,平均响应时间:25 毫秒,KB/秒显示为 148KB/秒。我发现很难关联这些数字。如果我可以管理 550 个请求/秒并且每个请求是 32KB,那么 KB/秒不应该是 550 * 32 KB/秒吗?
编辑: 即使我只发送一个请求,KB/Sec 下的数字也没有意义。我能够关联所有其他数字。 1 个请求的摘要报告:
Samples: 1
Average: 25
Min: 25
Max: 25
Std.Dev: 0
Error: 0%
Throughput: 40/sec
KB/Sec: 10.62
Avg. Bytes: 272.
很容易从上述结果中关联平均时间和吞吐量。我正在传输的图像大小为 32281 字节(由 linux OS 报告)。正如 cmets 中的 aroth 所指出的,我怀疑这是否与压缩有关。我尝试发送 1MB 的图像,报告的 KB/Sec 为 12.3。
【问题讨论】:
-
您如何衡量 550/秒的请求率?
-
这是jmeter在摘要报告下的吞吐量列下报告的内容。
-
我能找到的所有参考资料似乎都表明 jmeter 报告的吞吐量是每分钟的请求数,而不是每秒的请求数。考虑到那里的其他数字,每分钟 550 个请求大致在预期的范围内(实际上,达到每分钟 550 次上传大约需要大约 300 KB/秒,但也许 148 KB/秒是瞬时读取,或者可能对 32 KB 图像应用了一些压缩,或者 32 KB 图像实际上略小于 32 KB,等等)。
-
不,报告的吞吐量是 550 个请求/秒,而不是分钟。我不确定是否会发生任何巨大的压缩,因为我正在发送带有传输编码标头的 JPEG 图像作为二进制。
-
如何通过 POST 请求请求图像?通常,您会将 POST 发送给控制器,控制器将使用 HTML 文件进行响应。可能会发送一个 HTML 文件,其中包含对单个 32KB 文件的引用
标签: java jmeter performance-testing throughput