如何衡量servlet的运行时间?

时间:2014-08-27 13:52:12

标签: java http url servlets time

我正在创建一个小工具来测量java servlet的运行时间。 servlet在输出流上提供EPS类型的图像(因此,如果我从浏览器调用servlet下载EPS图像或弹出下载窗口 - 取决于设置)。

我想用我的工具测量servlet的运行时间:我将servlet称为10000次,然后计算平均值。

我的问题是:我想避免计算昂贵的I / O操作,因此我希望每个servlet调用都能下载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做些什么?每个servlet调用都会下载EPS映像吗?我知道他们没有得救,但他们下载了吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

只需读取输入流并丢弃数据:

byte [] buffer = new byte[4096];
while (input.read(buffer) != -1);