IBM Blockchain v2上的getState():经历很长的加载时间

时间:2019-07-25 18:58:29

标签: hyperledger-fabric ibm-blockchain

我已经在IBM Blockchain v2上部署了一个组织网络。我的加载时间非常慢(单个资产的加载时间总是超过3秒。)

我提高了Kubernetes集群的规格。我还调整了一些资源分配,但是加载时间没有变化。

  async query(ctx, key) {
    console.info('query by key ' + key);
    let returnAsBytes = await ctx.stub.getState(key);
    console.info(returnAsBytes)
    if (!returnAsBytes || returnAsBytes.length === 0) {
      return new Error(`${key} does not exist`);
    }
    let result = JSON.parse(returnAsBytes);
    console.info('result of getState: ');
    console.info(result);
    return JSON.stringify(result);
  }

我想知道是否有办法获得更快的结果。我还没有发现能够在IBM Blockchain v2的正确部署上找到许多资源,所以我不确定我做错了什么。

1 个答案:

答案 0 :(得分:0)

很遗憾,您没有提供足够的信息,但是可能会对性能产生影响的一个方面是客户端应用程序,在该应用程序中,对于每个使用的请求,错误的模式将是 创建网关/连接网关/提交事务或评估事务/断开网关。

此jira https://jira.hyperledger.org/projects/FABN/issues/FABN-1319提供了有关网关生命周期的一些详细信息。但一个简短的建议是,不要一直创建网关,不要缓存它们,并且在一段时间不使用它们之后,请使用陈旧的策略断开它们的连接。请注意,网关已绑定到一个身份,因此您将为每个身份拥有一个网关