如何最大化比特币 JSON-RPC 性能?

Posted

技术标签:

【中文标题】如何最大化比特币 JSON-RPC 性能?【英文标题】:How to maximize bitcoind JSON-RPC performance? 【发布时间】:2014-08-14 00:47:01 【问题描述】:

有人对优化从 JSON-RPC 读取区块链的脚本有什么建议吗?是否可以使用 HTTP/1.1 keepalive 来避免为每个查询重新建立 TCP 连接? JSON-RPC 服务是否支持并发?

更新

我能够同时远程登录到两个不同终端的端口,所以它绝对可以处理多个同时连接。我仍然想进一步了解它是如何在内部实现的(线程?事件?),以及增加同时客户端的数量会如何影响总吞吐量。

【问题讨论】:

【参考方案1】:

进行了更多搜索并找到了一些答案!假设这篇文章是可信的:

https://bitcointalk.org/index.php?topic=110243.0

JSON-RPC API

内部 HTTP 服务器现在是每个连接线程,而不是会在网络 I/O 上停滞的单线程队列。 内部 HTTP 服务器支持 HTTP/1.1、流水线请求和连接保持活动。 支持 JSON-RPC 2.0 批处理,将多个 JSON-RPC 请求封装在单个 HTTP 请求中。

打算去实现 keep-alive、流水线和/或 JSON-RPC 2.0 批处理,看看我能获得什么样的性能提升。

【讨论】:

查看相关bitcoin.stackexchange.com/questions/32839/…

以上是关于如何最大化比特币 JSON-RPC 性能?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Rust 的比特币 cURL/JSON-RPC

使用 Electrum JSON-RPC 发送比特币

无法通过 JSON-RPC 将 GETBLOCKHASH 发布到比特币核心

比特币 JSON-RPC API 方法 createrawtransaction 返回“无效金额”

比特币最大软件钱包Blockchain增加以太坊支持

最大的比特币软件钱包Blockchain开始支持以太坊