钱包 请教 EOS 的 nodeos 节点,rpc 请求过慢问题

sugeladi · January 28, 2020 · Last by sugeladi replied at February 10, 2020 · 213 hits

大家,新年好,我这边关于 nodeo 遇到一个问题,我现在通过 rpc 请求 getinfo 接口,发现有时候需要 20s 以上。(自己通过排查机器的 cpu 使用情况使用 htop 工具,发现全部用在了同一个 cpu 上,由于 nodeos 单线程的,无法使用多核资源优化它,(我的服务器配置是 8C32G),CPU 的主频是 8 Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz)

我看 github 上有 https://github.com/EOSIO/eos/issues/7504 ,但是我本地已经同步到最新区块,但是还是 20 多秒返回一个请求,请教各位,有遇到过此种情况的嘛?

time curl --request GET --url http://127.0.0.1:8888/v1/chain/get_info --header 'content-type: application/json' | jq { "server_version": "3e808f5c", "chain_id": "aca376f206b8fc25a6ed44dbdc66547c36c6c33e3a119ffbeaef943642f0e906", "head_block_num": 102286248, "last_irreversible_block_num": 102285924, "last_irreversible_block_id": "0618c26442839697b10d26caa6c0fc3c9393c55803ab3a837bfe35788ecee150", "head_block_id": "0618c3a807c40a330977a89f8da0710a1515139cdd7cdaf95ad8d7fc5f852df8", "head_block_time": "2020-01-28T10:01:45.500", "head_block_producer": "hashfineosio", "virtual_block_cpu_limit": 200000, "virtual_block_net_limit": 1048576000, "block_cpu_limit": 199900, "block_net_limit": 1048576, "server_version_string": "v1.8.9", "fork_db_head_block_num": 102286248, "fork_db_head_block_id": "0618c3a807c40a330977a89f8da0710a1515139cdd7cdaf95ad8d7fc5f852df8" }

real 0m26.854s user 0m0.005s sys 0m0.007s

看下当前 nodeos 的 CPU 占用, 通常的话 是当前节点 作为了 mongo 的同步节点,同步区块时做块数据的解析,并将对应的数据写入 mongo ,但 mongo plugin 是主线程操作的,会影响 nodeos 其余的操作响应

rpc总timeout的问题解决了,通过github上issues 升级到了2.0.2版本,这样每次rpc再5秒之内

然后 我又遇到另外一个问题 https://github.com/EOSIO/eos/issues/8443 ,按照建议 我配置了http-max-response-time-ms 也一并解决了

sugeladi 关闭了讨论 10 Feb 15:14
sugeladi 重新开启了讨论 10 Feb 15:14
Surou 回复

当时的情况是,我的机器是8核CPU,nodeos只跑在一个cpu核上并且是100%状态。 我这边的节点并没有开启mongo plugin. 最后通过升级eos节点版本解决

sugeladi 关闭了讨论 10 Feb 15:16
需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up