Я пытаюсь получить некоторую информацию о пропускной способности и задержке с помощью java. Все, что делает um, отправляет на php-сервер количество байтов, а php-сервер отвечает на строку с этими байтами. Странная вещь, что для пакетов от 4 до 4096 байт время отклика почти постоянное, но при больших размерах пакетов (больше 4 КБ) время отклика увеличивается линейно.Измерьте пропускную способность с помощью PHP-сервера эха
PS: Я попытался сделать формирование трафика, чтобы уменьшить пропускную способность для измерения, но та же проблема возникает.
Вот код Java
public void measure() throws IOException {
timeArray = new double[sizeArray.length];
for (int i = 0; i < sizeArray.length; i++) {
URL url = new URL("http://10.10.10.101/test.php?bytes=" +sizeArray[i]);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
try {
connection.setDoInput(true);
connection.setDoOutput(true);
connection.setUseCaches(false);
connection.setRequestMethod("POST");
DataInputStream in = new DataInputStream (connection.getInputStream());
long start = System.nanoTime();
byte [] temp = new byte[sizeArray[i]];
in.readFully(temp);
long end = System.nanoTime();
System.out.println("Size = " + sizeArray[i] + " , time = "+(end - start) +" ");
in.close();
//linear.addPoint(k[i] * Math.pow(10, -6) , (end - start) * Math.pow(10, -9));
// simple.addData(k[i] * Math.pow(10, -6) , (end - start) * Math.pow(10, -9));
timeArray[i] = (end - start);
} finally {
connection.disconnect();
}
}
}
и вот код PHP эхо сервер
<?php
$bytes = $_GET["bytes"];
$temp = intval ($bytes);
$result = str_pad("",$temp,"*");
echo($result);
?>
Может ли тело объяснить это странное поведение?
Возможно, это связано с вашим браузером. Chrome относится к предварительному буферизации 4096 байт, прежде чем обслуживать фактический запрос. Вы часто сталкиваетесь с проблемой при попытке потока контента, например здесь: http://www.sitepoint.com/php-streaming-output-buffering-explained/ – EdgeCaseBerg
Я попытался отменить эту буферизацию вывода, но также и тот же происходит поведение. –