如何衡量服务器的请求和响应时间? [英] How to measure request and response time of server?

查看:1553
本文介绍了如何衡量服务器的请求和响应时间?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用的AsyncTask和JSON解析用于获取服务器的响应,我怎么能衡量的请求和响应时间,以下是我的web服务的code,任何一个可以帮助我?...... .............

I am using asynctask and json parsing for getting response from server,How can i measure request and response time,following is code of my web service,can any one help me with this?............................

public class JSONParser {
  static InputStream is = null;
  static JSONObject jObj = null;
  static String json = "";

  // constructor
  public JSONParser() {
  }

  // function get json from url
    // by making HTTP POST or GET method
  public JSONObject makeHttpRequest(String url, String method,
          List<NameValuePair> params) {

      // Making HTTP request
      try {
        // check for request method
          if(method.equals("POST")){
              DefaultHttpClient httpClient = new DefaultHttpClient();
              HttpPost httpPost = new HttpPost(url);
              httpPost.setEntity(new UrlEncodedFormEntity(params));
              long startTime = System.currentTimeMillis();
              HttpResponse httpResponse = httpClient.execute(httpPost);
              HttpEntity httpEntity = httpResponse.getEntity();
             is = httpEntity.getContent();
             long elapsedTime = System.currentTimeMillis() - startTime;
                System.out.println("Total elapsed http request/response time in milliseconds: " + elapsedTime);
          } else if(method.equals("GET")) {
              //request method is GET
              DefaultHttpClient httpClient = new DefaultHttpClient();
              String paramString = URLEncodedUtils.format(params, "utf-8");
              url += "?" + paramString;
              HttpGet httpGet = new HttpGet(url);
              long startTime = System.currentTimeMillis();
              HttpResponse httpResponse = httpClient.execute(httpGet);
              HttpEntity httpEntity = httpResponse.getEntity();
              is = httpEntity.getContent();
              long elapsedTime = System.currentTimeMillis() - startTime;
                System.out.println("Total elapsed http request/response time in milliseconds: " + elapsedTime);
          }
      }catch (UnsupportedEncodingException e) {
          e.printStackTrace();
      }catch (ClientProtocolException e) {
          e.printStackTrace ();
      }catch (IOException e) {
          e.printStackTrace();
      }

      try {
          BufferedReader reader = new BufferedReader(new InputStreamReader(
          is, "iso-8859-1"),8);
          StringBuilder sb = new StringBuilder();
          String line = null;
          while ((line = reader.readLine()) != null) {
          sb.append(line + "\n");
          }
          is.close();
          json = sb.toString();
          Log.d("Request attempt","JSON >>>" +  json.toString());
          } catch (Exception e) {
          Log.e("Buffer Error", "Error converting result" + e.toString());
          }
    // try parse the string to a JSON object
      try { jObj = new JSONObject(json);
      } catch (JSONException e) {
          Log.e("JSON PArser", "Error Parsing data" + e.toString());
      }
      return jObj;
  }

}

推荐答案

请参见下面的code你会得到关于如何做到这一点的想法。

Please see below code you will get an idea about how to do this.

      long startTime = System.currentTimeMillis();

         //Write this above before your httprequest 

              HttpResponse httpResponse = httpClient.execute(httpGet);
              HttpEntity httpEntity = httpResponse.getEntity();
              is = httpEntity.getContent();    

        //After you get response  

        long elapsedTime = System.currentTimeMillis() - startTime;
        System.out.println("Total elapsed http request/response time in milliseconds: " + elapsedTime

这code将测量距离,当你开始你的要求写出当你完成接收响应的时间,并显示结果。

This code would measure the time from when you begin writing out your request to when you finish receiving the response, and display the result .

这篇关于如何衡量服务器的请求和响应时间?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆