幾個星期前,我爲我的編程任務實現了一個簡單的多線程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字節),之後吞吐量開始下降。 –
這也是我的第一個想法。我不明白爲什麼它會是一個問題,但... –