FISCO BCOS 2.9.0 中文文档2 Off-CPU火焰图 在实现FISCO BCOS的并行执行交易功能时,我们发现有一个令人困惑的现象:有时即使交易量非常 大,区块的负载已经打满,但是通过top命令观察到CPU的利用率仍然比较低,通常4核CPU的利用率 不足200%。在排除了交易间存在依赖关系的可能后,推测CPU可能陷入了I/O或锁等待中,因此需要确 定CPU到底在什么地方等待。 使用perf,我们可以轻松地了解系统中任何进程的睡眠过程,其原理是利用perf 销,如访问日志等级状态来决定是否 打印日志等。由于这些状态需要线程间互斥访问,因此导致线程由于竞争资源而陷入饥饿。 我们将这些日志代码删除后,执行交易时4核CPU的利用率瞬间升至300%+,考虑到线程间调度和同步 的开销,这个利用率已属于正常范围。这次调试的经历也提醒了我们,在追求高性能的并行代码中输出 日志一定要谨慎,避免由于不必要的日志而引入无谓的性能损失。 30.4. FISCO BCOS的原理和特性 在常见的区块链网络里,记账者通常根据算法持续出块,目的是为了保障系统正常运行、防止作恶等, 即使区块里不包含交易,空区块也会被共识确认和落盘存储。 虽然对空块进行共识有一定作用,但空块落盘会耗费存储空间、降低硬盘利用率 (可存储的交易数),并 一定程度上影响面向区块数据的回溯和检索效率。 所以,FISCO BCOS基于PBFT共识算法,实现了高效的空块处理方法,保证每个区块都参与PBFT共识 流程的同时,不落盘0 码力 | 1489 页 | 107.09 MB | 1 年前3
FISCO BCOS 2.7.2 中文文档火焰 焰 焰图 图 图 在实现FISCO BCOS的并行执行交易功能时,我们发现有一个令人困惑的现象:有时即使交易量非常 大,区块的负载已经打满,但是通过top命令观察到CPU的利用率仍然比较低,通常4核CPU的利用率 不足200%。在排除了交易间存在依赖关系的可能后,推测CPU可能陷入了I/O或锁等待中,因此需要确 定CPU到底在什么地方等待。 使用perf,我们可以轻松地了解系统中任何进程的睡眠过程,其原理是利用perf 销,如访问日志等级状态来决定是否 打印日志等。由于这些状态需要线程间互斥访问,因此导致线程由于竞争资源而陷入饥饿。 我们将这些日志代码删除后,执行交易时4核CPU的利用率瞬间升至300%+,考虑到线程间调度和同步 的开销,这个利用率已属于正常范围。这次调试的经历也提醒了我们,在追求高性能的并行代码中输出 日志一定要谨慎,避免由于不必要的日志而引入无谓的性能损失。 964 Chapter 27. 在常见的区块链网络里,记账者通常根据算法持续出块,目的是为了保障系统正常运行、防止作恶等, 即使区块里不包含交易,空区块也会被共识确认和落盘存储。 虽然对空块进行共识有一定作用,但空块落盘会耗费存储空间、降低硬盘利用率 (可存储的交易数),并 一定程度上影响面向区块数据的回溯和检索效率。 所以,FISCO BCOS基于PBFT共识算法,实现了高效的空块处理方法,保证每个区块都参与PBFT共识 流程的同时,不落盘0 码力 | 1422 页 | 91.91 MB | 1 年前3
FISCO BCOS 3.6.0 中文文档2 Off-CPU火焰图 在实现FISCO BCOS的并行执行交易功能时,我们发现有一个令人困惑的现象:有时即使交易量非常 大,区块的负载已经打满,但是通过top命令观察到CPU的利用率仍然比较低,通常4核CPU的利用率 不足200%。在排除了交易间存在依赖关系的可能后,推测CPU可能陷入了I/O或锁等待中,因此需要确 定CPU到底在什么地方等待。 使用perf,我们可以轻松地了解系统中任何进程的睡眠过程,其原理是利用perf 销,如访问日志等级状态来决定是否 打印日志等。由于这些状态需要线程间互斥访问,因此导致线程由于竞争资源而陷入饥饿。 我们将这些日志代码删除后,执行交易时4核CPU的利用率瞬间升至300%+,考虑到线程间调度和同步 的开销,这个利用率已属于正常范围。这次调试的经历也提醒了我们,在追求高性能的并行代码中输出 日志一定要谨慎,避免由于不必要的日志而引入无谓的性能损失。 30.4. FISCO BCOS的原理和特性 在常见的区块链网络里,记账者通常根据算法持续出块,目的是为了保障系统正常运行、防止作恶等, 即使区块里不包含交易,空区块也会被共识确认和落盘存储。 虽然对空块进行共识有一定作用,但空块落盘会耗费存储空间、降低硬盘利用率 (可存储的交易数),并 一定程度上影响面向区块数据的回溯和检索效率。 所以,FISCO BCOS基于PBFT共识算法,实现了高效的空块处理方法,保证每个区块都参与PBFT共识 流程的同时,不落盘0 码力 | 1489 页 | 107.09 MB | 1 年前3
FISCO BCOS 2.9.0 中文文档2 Off-CPU火焰图 在实现FISCO BCOS的并行执行交易功能时,我们发现有一个令人困惑的现象:有时即使交易量非常 大,区块的负载已经打满,但是通过top命令观察到CPU的利用率仍然比较低,通常4核CPU的利用率 不足200%。在排除了交易间存在依赖关系的可能后,推测CPU可能陷入了I/O或锁等待中,因此需要确 定CPU到底在什么地方等待。 使用perf,我们可以轻松地了解系统中任何进程的睡眠过程,其原理是利用perf 销,如访问日志等级状态来决定是否 打印日志等。由于这些状态需要线程间互斥访问,因此导致线程由于竞争资源而陷入饥饿。 我们将这些日志代码删除后,执行交易时4核CPU的利用率瞬间升至300%+,考虑到线程间调度和同步 的开销,这个利用率已属于正常范围。这次调试的经历也提醒了我们,在追求高性能的并行代码中输出 日志一定要谨慎,避免由于不必要的日志而引入无谓的性能损失。 30.4. FISCO BCOS的原理和特性 在常见的区块链网络里,记账者通常根据算法持续出块,目的是为了保障系统正常运行、防止作恶等, 即使区块里不包含交易,空区块也会被共识确认和落盘存储。 虽然对空块进行共识有一定作用,但空块落盘会耗费存储空间、降低硬盘利用率 (可存储的交易数),并 一定程度上影响面向区块数据的回溯和检索效率。 所以,FISCO BCOS基于PBFT共识算法,实现了高效的空块处理方法,保证每个区块都参与PBFT共识 流程的同时,不落盘0 码力 | 1489 页 | 107.09 MB | 1 年前3
FISCO BCOS 2-dev 中文文档火焰 焰 焰图 图 图 在实现FISCO BCOS的并行执行交易功能时,我们发现有一个令人困惑的现象:有时即使交易量非常 大,区块的负载已经打满,但是通过top命令观察到CPU的利用率仍然比较低,通常4核CPU的利用率 不足200%。在排除了交易间存在依赖关系的可能后,推测CPU可能陷入了I/O或锁等待中,因此需要确 定CPU到底在什么地方等待。 使用perf,我们可以轻松地了解系统中任何进程的睡眠过程,其原理是利用perf 销,如访问日志等级状态来决定是否 打印日志等。由于这些状态需要线程间互斥访问,因此导致线程由于竞争资源而陷入饥饿。 我们将这些日志代码删除后,执行交易时4核CPU的利用率瞬间升至300%+,考虑到线程间调度和同步 的开销,这个利用率已属于正常范围。这次调试的经历也提醒了我们,在追求高性能的并行代码中输出 日志一定要谨慎,避免由于不必要的日志而引入无谓的性能损失。 3.3 内 内 内存 存 存火 在常见的区块链网络里,记账者通常根据算法持续出块,目的是为了保障系统正常运行、防止作恶等, 即使区块里不包含交易,空区块也会被共识确认和落盘存储。 虽然对空块进行共识有一定作用,但空块落盘会耗费存储空间、降低硬盘利用率 (可存储的交易数),并 一定程度上影响面向区块数据的回溯和检索效率。 所以,FISCO BCOS基于PBFT共识算法,实现了高效的空块处理方法,保证每个区块都参与PBFT共识 流程的同时,不落盘0 码力 | 1324 页 | 85.58 MB | 1 年前3
FISCO BCOS 2.8.0 中文文档火焰 焰 焰图 图 图 在实现FISCO BCOS的并行执行交易功能时,我们发现有一个令人困惑的现象:有时即使交易量非常 大,区块的负载已经打满,但是通过top命令观察到CPU的利用率仍然比较低,通常4核CPU的利用率 不足200%。在排除了交易间存在依赖关系的可能后,推测CPU可能陷入了I/O或锁等待中,因此需要确 定CPU到底在什么地方等待。 使用perf,我们可以轻松地了解系统中任何进程的睡眠过程,其原理是利用perf 销,如访问日志等级状态来决定是否 打印日志等。由于这些状态需要线程间互斥访问,因此导致线程由于竞争资源而陷入饥饿。 我们将这些日志代码删除后,执行交易时4核CPU的利用率瞬间升至300%+,考虑到线程间调度和同步 的开销,这个利用率已属于正常范围。这次调试的经历也提醒了我们,在追求高性能的并行代码中输出 日志一定要谨慎,避免由于不必要的日志而引入无谓的性能损失。 976 Chapter 27. 在常见的区块链网络里,记账者通常根据算法持续出块,目的是为了保障系统正常运行、防止作恶等, 即使区块里不包含交易,空区块也会被共识确认和落盘存储。 虽然对空块进行共识有一定作用,但空块落盘会耗费存储空间、降低硬盘利用率 (可存储的交易数),并 一定程度上影响面向区块数据的回溯和检索效率。 所以,FISCO BCOS基于PBFT共识算法,实现了高效的空块处理方法,保证每个区块都参与PBFT共识 流程的同时,不落盘0 码力 | 1435 页 | 92.25 MB | 1 年前3
FISCO BCOS 2.9.0 中文文档火焰 焰 焰图 图 图 在实现FISCO BCOS的并行执行交易功能时,我们发现有一个令人困惑的现象:有时即使交易量非常 大,区块的负载已经打满,但是通过top命令观察到CPU的利用率仍然比较低,通常4核CPU的利用率 不足200%。在排除了交易间存在依赖关系的可能后,推测CPU可能陷入了I/O或锁等待中,因此需要确 定CPU到底在什么地方等待。 使用perf,我们可以轻松地了解系统中任何进程的睡眠过程,其原理是利用perf 销,如访问日志等级状态来决定是否 打印日志等。由于这些状态需要线程间互斥访问,因此导致线程由于竞争资源而陷入饥饿。 我们将这些日志代码删除后,执行交易时4核CPU的利用率瞬间升至300%+,考虑到线程间调度和同步 的开销,这个利用率已属于正常范围。这次调试的经历也提醒了我们,在追求高性能的并行代码中输出 日志一定要谨慎,避免由于不必要的日志而引入无谓的性能损失。 1008 Chapter 30 在常见的区块链网络里,记账者通常根据算法持续出块,目的是为了保障系统正常运行、防止作恶等, 即使区块里不包含交易,空区块也会被共识确认和落盘存储。 虽然对空块进行共识有一定作用,但空块落盘会耗费存储空间、降低硬盘利用率 (可存储的交易数),并 一定程度上影响面向区块数据的回溯和检索效率。 所以,FISCO BCOS基于PBFT共识算法,实现了高效的空块处理方法,保证每个区块都参与PBFT共识 流程的同时,不落盘0 码力 | 1467 页 | 97.74 MB | 1 年前3
FISCO BCOS 2.7.0 中文文档火焰 焰 焰图 图 图 在实现FISCO BCOS的并行执行交易功能时,我们发现有一个令人困惑的现象:有时即使交易量非常 大,区块的负载已经打满,但是通过top命令观察到CPU的利用率仍然比较低,通常4核CPU的利用率 不足200%。在排除了交易间存在依赖关系的可能后,推测CPU可能陷入了I/O或锁等待中,因此需要确 定CPU到底在什么地方等待。 使用perf,我们可以轻松地了解系统中任何进程的睡眠过程,其原理是利用perf 销,如访问日志等级状态来决定是否 打印日志等。由于这些状态需要线程间互斥访问,因此导致线程由于竞争资源而陷入饥饿。 我们将这些日志代码删除后,执行交易时4核CPU的利用率瞬间升至300%+,考虑到线程间调度和同步 的开销,这个利用率已属于正常范围。这次调试的经历也提醒了我们,在追求高性能的并行代码中输出 日志一定要谨慎,避免由于不必要的日志而引入无谓的性能损失。 976 Chapter 27. 在常见的区块链网络里,记账者通常根据算法持续出块,目的是为了保障系统正常运行、防止作恶等, 即使区块里不包含交易,空区块也会被共识确认和落盘存储。 虽然对空块进行共识有一定作用,但空块落盘会耗费存储空间、降低硬盘利用率 (可存储的交易数),并 一定程度上影响面向区块数据的回溯和检索效率。 所以,FISCO BCOS基于PBFT共识算法,实现了高效的空块处理方法,保证每个区块都参与PBFT共识 流程的同时,不落盘0 码力 | 1435 页 | 92.25 MB | 1 年前3
FISCO BCOS 3.0.0-rc2 中文文档火焰 焰 焰图 图 图 在实现FISCO BCOS的并行执行交易功能时,我们发现有一个令人困惑的现象:有时即使交易量非常 大,区块的负载已经打满,但是通过top命令观察到CPU的利用率仍然比较低,通常4核CPU的利用率 不足200%。在排除了交易间存在依赖关系的可能后,推测CPU可能陷入了I/O或锁等待中,因此需要确 定CPU到底在什么地方等待。 使用perf,我们可以轻松地了解系统中任何进程的睡眠过程,其原理是利用perf 销,如访问日志等级状态来决定是否 打印日志等。由于这些状态需要线程间互斥访问,因此导致线程由于竞争资源而陷入饥饿。 我们将这些日志代码删除后,执行交易时4核CPU的利用率瞬间升至300%+,考虑到线程间调度和同步 的开销,这个利用率已属于正常范围。这次调试的经历也提醒了我们,在追求高性能的并行代码中输出 日志一定要谨慎,避免由于不必要的日志而引入无谓的性能损失。 1000 Chapter 30 在常见的区块链网络里,记账者通常根据算法持续出块,目的是为了保障系统正常运行、防止作恶等, 即使区块里不包含交易,空区块也会被共识确认和落盘存储。 虽然对空块进行共识有一定作用,但空块落盘会耗费存储空间、降低硬盘利用率 (可存储的交易数),并 一定程度上影响面向区块数据的回溯和检索效率。 所以,FISCO BCOS基于PBFT共识算法,实现了高效的空块处理方法,保证每个区块都参与PBFT共识 流程的同时,不落盘0 码力 | 1459 页 | 97.77 MB | 1 年前3
FISCO BCOS 2.8.0 中文文档火焰 焰 焰图 图 图 在实现FISCO BCOS的并行执行交易功能时,我们发现有一个令人困惑的现象:有时即使交易量非常 大,区块的负载已经打满,但是通过top命令观察到CPU的利用率仍然比较低,通常4核CPU的利用率 不足200%。在排除了交易间存在依赖关系的可能后,推测CPU可能陷入了I/O或锁等待中,因此需要确 定CPU到底在什么地方等待。 使用perf,我们可以轻松地了解系统中任何进程的睡眠过程,其原理是利用perf 销,如访问日志等级状态来决定是否 打印日志等。由于这些状态需要线程间互斥访问,因此导致线程由于竞争资源而陷入饥饿。 我们将这些日志代码删除后,执行交易时4核CPU的利用率瞬间升至300%+,考虑到线程间调度和同步 的开销,这个利用率已属于正常范围。这次调试的经历也提醒了我们,在追求高性能的并行代码中输出 日志一定要谨慎,避免由于不必要的日志而引入无谓的性能损失。 976 Chapter 27. 在常见的区块链网络里,记账者通常根据算法持续出块,目的是为了保障系统正常运行、防止作恶等, 即使区块里不包含交易,空区块也会被共识确认和落盘存储。 虽然对空块进行共识有一定作用,但空块落盘会耗费存储空间、降低硬盘利用率 (可存储的交易数),并 一定程度上影响面向区块数据的回溯和检索效率。 所以,FISCO BCOS基于PBFT共识算法,实现了高效的空块处理方法,保证每个区块都参与PBFT共识 流程的同时,不落盘0 码力 | 1435 页 | 92.25 MB | 1 年前3
共 21 条
- 1
- 2
- 3













