几个星期前,我为我的编程任务实现了一个简单的多线程HTTP服务器。在这个任务中,用户通过浏览器指定了一个文档大小(比如localhost:port/250代表一个250字节长的文档),我的程序创建了一个具有这个大小的html页面。递增请求大小的传输速率行为
我用一个名为apachebench的基准测试工具测试了它的性能。性能主要是我对多线程程序的期望。
但是,有一个有趣的测试结果,这是一段时间纠缠我。 请求传输速率随请求大小的增加而急剧下降。 这里是我使用这个命令行参数的示例apachebench测试结果;
AB -n 1000 http://localhost:port/RequestSize
RequestSize TX (bytes) (KB/s) 70 212,21 150 268,75 250 364,58 350 447,23 500 497,36 650 496,73 800 491,48 1000 432,63 1250 405,17 1750 347,19 3000 241,95 5000 161,46 10000 84,58 20000 44,05
并发的水平才有这种分布不太陡峭。
这种行为的原因是什么?
感谢,
它看起来像你的传输速率增加,直到你得到一个标准的以太网数据包的大小(1542字节),之后吞吐量开始下降。 –
这也是我的第一个想法。我不明白为什么它会是一个问题,但... –