Я создаю небольшой инструмент для измерения времени работы сервлета Java. Сервлет дает изображение типа EPS в выходном потоке (поэтому, если я вызываю сервлет из браузера, загрузка EPS-изображения или всплывающее окно загрузки зависит от настроек).Как измерить время работы сервлета?
Я хотел бы измерить время работы сервлета с помощью моего инструмента: я вызываю сервлет, например, 10000 раз, а затем подсчитываю среднее значение.
Моя проблема: Я хочу избежать учета дорогостоящих операций ввода-вывода, поэтому я хотел бы загрузить EPS на каждый вызов сервлета, но не хочу сохранять их на своем жестком диске.
Я написал этот код:
long startTime = System.nanoTime();
try {
URLConnection connection = new URL(url + "?" + query).openConnection();
connection.setRequestProperty("Accept-Charset", charset);
InputStream response = connection.getInputStream();
} catch (Exception e) {
System.out.println("Connection failed!");
e.printStackTrace();
System.exit(0);
}
long endTime = System.nanoTime();
long deltaTime = endTime - startTime;
ли это делать то, что я хочу? Или мне нужно что-то делать с imputsream? Загружает ли изображение EPS на каждый вызов сервлета? Я знаю, что они не спасены, но они загружаются?
Спасибо!
код получает ссылку на 'InputStream' но не считывать данные из него (что, в свою очередь, сделало бы реально скачать бег). Таким образом, я думаю, что это только измеряет время, необходимое для установления соединения и загрузки некоторых первых данных, до тех пор, пока не будут заполнены буферы на стороне клиента. EDIT: для небольших фотографий это может дать хорошие результаты. Для крупных, почти наверняка нет. Я бы также сказал, что вы правы в необходимости избегать операций на стороне клиента на стороне клиента. Для этого я полностью прочитал входной поток и выбросил данные. –
Трудно сказать. Вы измеряете время начала ответа, но вы не измеряете время передачи. Я бы предложил написать TimingServlet, тогда вы можете настроить [цепочку] (http://docstore.mik.ua/orelly/java-ent/servlet/ch02_05.htm). –
Большое спасибо вам обоим! Я рассмотрю ваши предложения. –