大量调用微信更新会员信息接口如何提高速度

问题描述

https://developers.weixin.qq....
需要调用微信的一个更新会员信息的接口,目的是为了修改微信那边会员卡的一个字段,大约有260万的会员,也就是要请求260万次,测试发现是调用一次大概要0.5秒左右,这样的话速度就会特别慢。

问题出现的环境背景及自己尝试过哪些方法

1.目前想到的是使用Http保持长连接来减少每次请求倒要建立请求和断开请求的耗时,但是时间还是一样的长。
2.另一个就是多线程并发跑。

相关代码

下面是使用Hutool工具,开启了keepAlive字段来保持长连接,但是没有效果,不知道是不是因为用法错误还是什么原因。

        String accessToken = service.getAccessToken();
        logger.info(accessToken);
        String url = "https://api.weixin.qq.com/card/membercard/updateuser?access_token=" + accessToken;
        String json = "{\"code\":\"WMMBC0436000000106879\",\"card_id\":\"pqBpd1J0cyIrRwaSvJoFjKoHSLuw\",\"custom_field_value1\":\"¥2\"}";
        logger.info(url);
        for (int i = 0; i < 10; i++) {
            Stopwatch started = Stopwatch.createStarted();
            String result = HttpRequest
                    .post(url)
                    .header("Content-Type", "application/json")
                    .keepAlive(true)
                    .body(json)
                    .execute()
                    .body();
            logger.info("updateMemberInfo2: [{}]", started.elapsed(TimeUnit.MILLISECONDS));
            logger.info("result:", result);
         }

疑问

现在想知道这种大量的请求,怎么才能提高速度,期望值实在2-4个小时之内能够完成260万的提交。
此外就是想知道Http长连接这种方法为什么没效果,应该怎么样使用才有效果呢?

阅读 2.8k
2 个回答

多线程调用即可…

多线程,使用阿帕奇的HTTPClient如何?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题