【问题标题】:How to measure time taken by websocket to respond如何测量 websocket 响应所花费的时间
【发布时间】:2016-05-13 05:23:14
【问题描述】:

我们在我们的项目中使用 web sockets,并且需要评估 websocket 的速度。如何测量websocket响应的时间

【问题讨论】:

  • 发布您的代码,以便人们可以为您提供具体实施的示例

标签: java websocket


【解决方案1】:

鉴于我是 Stack Overflow 的新手,我不会写 cmets,我会尝试用你发布的信息给你一个答案。

如果你去谷歌,你会发现很多关于“如何计算经过的时间”或“Java 中的执行时间”的例子。以下示例摘自mkyong

日期().getTime():

long lStartTime = new Date().getTime();
//some tasks
long lEndTime = new Date().getTime();

long difference = lEndTime - lStartTime;

System.out.println("Elapsed milliseconds: " + difference);

System.currentTimeMillis()

long lStartTime = System.currentTimeMillis();
//some tasks
long lEndTime = System.currentTimeMillis();

long difference = lEndTime - lStartTime;

System.out.println("Elapsed milliseconds: " + difference);

System.nanoTime()

long lStartTime = System.nanoTime();
//some tasks
long lEndTime = System.nanoTime();

long difference = lEndTime - lStartTime;

System.out.println("Elapsed milliseconds: " + difference/1000000); 

完整示例

import java.util.Date;

public class TimeApp {
  public static void main(String[] argv) {

    long lStartTime = new Date().getTime(); // start time

    createArray(); // some tasks to eat time

    long lEndTime = new Date().getTime(); // end time

    long difference = lEndTime - lStartTime; // check different

    System.out.println("Elapsed milliseconds: " + difference);

  }

  public static void createArray() {

    try {
      Thread.sleep(2000);
    } catch (InterruptedException e) {
      e.printStackTrace();
    }

    String sArray[] = new String[1000000];

    for (int i = 0; i < 1000000; i++)
      sArray[i] = "Array " + i;

  }
}

希望对您有所帮助!

【讨论】:

  • 只是一个要点:我不喜欢使用 Date 实例来恢复系统提供的纪元时间。它不会花费太多,无论是内存还是 CPU,但这无济于事,因为您需要针对系统中的用户调用它。
  • 很高兴了解其他方法和注意事项。谢谢。
猜你喜欢
  • 2023-03-19
  • 1970-01-01
  • 1970-01-01
  • 2010-09-23
  • 1970-01-01
  • 2013-12-11
  • 2016-03-26
  • 1970-01-01
相关资源
最近更新 更多