zoukankan      html  css  js  c++  java
  • csf几种调用的性能考虑

    public static void invokeMethod1() {
      long s=new Date().getTime();
      UserServiceImplService serivce = new UserServiceImplService();
      UserServiceImpl impl = serivce.getUserServiceImplPort();
      User u = new User();
      impl.addUser(u);
      long s1=new Date().getTime();
      System.out.println(s1-s);
      //第一次去调用1297
      //1437 1062 1063 1078 1047
     }

     public static void invokeMethod2() {
      long s=new Date().getTime();
      JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
      factory.setAddress("http://localhost:8088/abc");
       QName SERVICE = new QName("http://liaomin", "UserServiceImplService");
       factory.setServiceName(SERVICE);
      factory.setServiceClass(UserService.class);
      UserService us = (UserService) factory.create();
      User u = new User();
      // us.addUser(u);
      us.addUser(u);
      long s1=new Date().getTime();
      System.out.println(s1-s);
      //第一次去调用1265
      //1047 1047(比较稳定)
     }

     public static void invokeMethod3() throws MalformedURLException {
      long s=new Date().getTime();
         QName SERVICE = new QName("http://liaomin", "UserServiceImplService");
         QName UserServiceImplPort = new QName("http://liaomin", "UserServiceImplPort");
      URL url = new URL("http://localhost:8088/abc?wsdl");
      ServiceDelegate dele=Provider.provider().createServiceDelegate(url,SERVICE,Service.class);
      UserService us = (UserService) dele.getPort(UserServiceImplPort,UserService.class);
      User u = new User();
      us.addUser(u);
      long s1=new Date().getTime();
      System.out.println(s1-s);
      //第一次去调用 1281
      //1047 1031 1047 1016 1032
     }
     public static void invokeMethod4()
     {
      long s=new Date().getTime();
      ClientProxyFactoryBean factory = new ClientProxyFactoryBean();
            factory.setServiceClass(UserService.class);
            factory.setAddress("http://localhost:8088/abc");
           // factory.getServiceFactory().setDataBinding(new AegisDatabinding());
            UserService client = (UserService) factory.create();
            User u = new User();
            client.addUser(u);
            long s1=new Date().getTime();
      System.out.println(s1-s);
      //第一次去调用 1188
      //调用一次后   1016 1000 1016 1015
     }

    通过实践去测试 只有第四种调用耗费的时间最少的

    如果在频繁取数据的系统中 能优化100ms的速度 对性能就会有大大的提高

    比如我调用 100次webservice发送消息  每发送一次 是 1200ms(1.2s) 总共耗时 120s

    如果采用第四种 只需要 1000ms(1s) 总共耗时 100s  那么优化了20s时间 20s是个什么概念

    假如是调用 1000 10000次发送了  优化的效率就更大

  • 相关阅读:
    ajax traditional
    阿里云OSS NET SDK 引用示范程序
    js对象的两种写法
    BZOJ NOIP提高组十连测第一场
    ikbc 时光机 F87 Ctrl 失灵 解决办法
    【读书笔记】阅读的危险
    51nod 1118 机器人走方格 解题思路:动态规划 & 1119 机器人走方格 V2 解题思路:根据杨辉三角转化问题为组合数和求逆元问题
    【算法】求逆元模板
    【复习资料】软件工程之快速原型模型
    VirtualBox安装linux mint教程
  • 原文地址:https://www.cnblogs.com/liaomin416100569/p/9331764.html
Copyright © 2011-2022 走看看