diff --git a/ynrcc-agent/src/main/java/com/supwisdom/agent/Util/DlpayUtil.java b/ynrcc-agent/src/main/java/com/supwisdom/agent/Util/DlpayUtil.java
index 45b2ac5..d5150df 100644
--- a/ynrcc-agent/src/main/java/com/supwisdom/agent/Util/DlpayUtil.java
+++ b/ynrcc-agent/src/main/java/com/supwisdom/agent/Util/DlpayUtil.java
@@ -24,9 +24,11 @@
    * socket方式请求农商行
    */
   public static String send(String ip, int port, int timeout, String data) throws UnknownHostException, IOException {
+    long t1 = System.currentTimeMillis();
+    System.out.println("ynrcc socket start:");
     Socket client = new Socket(ip, port);
     client.setSoTimeout(timeout * 1000); //timeout秒
-    PrintWriter printWriter = new PrintWriter(new OutputStreamWriter(client.getOutputStream(),"GBK"));
+    PrintWriter printWriter = new PrintWriter(new OutputStreamWriter(client.getOutputStream(), "GBK"));
     // 发送消息
     printWriter.println(data);
     printWriter.flush();
@@ -41,6 +43,8 @@
     }
     reader.close();
     client.close();
+    long t2 = System.currentTimeMillis();
+    System.out.println("ynrcc socket return! "+(t2-t1)+"ms");
     return content.toString();
   }
 
diff --git a/ynrcc-agent/src/main/resources/application.properties b/ynrcc-agent/src/main/resources/application.properties
index babfea2..ce97d4b 100644
--- a/ynrcc-agent/src/main/resources/application.properties
+++ b/ynrcc-agent/src/main/resources/application.properties
@@ -34,7 +34,7 @@
 ############# YNRCC SOCKET ###############
 ynrcc.socket.ip=127.0.0.1
 ynrcc.socket.port=8089
-## 超时时间(分钟)
+## 超时时间
 ynrcc.socket.timeout=10
 ynrcc.md5.key=80816b7947ed016bff8079557735006e
 ynrcc.chkfile.ftp.enabled=false
