状态: 编译成功 ✓
构建时间: 2025-09-30
构建工具: Gradle 6.3
Java 版本: 1.8
$ bash gradlew build -x test
BUILD SUCCESSFUL in 3s类名: PerformanceMultiGroupDMC
包路径: org.fisco.bcos.sdk.demo.perf
状态: 已编译 ✓ | 已打包 ✓ | 代码格式化 ✓
- ✅ 支持同时对多个 FISCO BCOS 群组执行压测
- ✅ 每个群组独立的账户、交易和性能统计
- ✅ 并行执行,充分利用多核 CPU
- ✅ 实时进度显示
- ✅ 详细的性能报告
# 类文件已成功生成
dist/apps/java-sdk-demo-3.6.0.jar:
- PerformanceMultiGroupDMC.class ✓
- PerformanceMultiGroupDMC$1.class ✓
- PerformanceMultiGroupDMC$2.class ✓-
src/main/java/org/fisco/bcos/sdk/demo/perf/PerformanceMultiGroupDMC.java
- 核心压测类
- 359 行代码
- 完整的 JavaDoc 注释
- 已通过代码格式检查
-
docs/MultiGroupPerformanceTest.md
- 详细使用文档
- 包含完整的使用说明、参数说明、FAQ
-
MULTI_GROUP_USAGE.md
- 快速使用指南
- 提供简明的入门指导
-
multi_group_test.sh
- 便捷启动脚本
- 已添加可执行权限
- 支持参数配置和环境检查
-
CHANGES.md
- 变更总结文档
- 详细的功能说明和使用示例
- README.md
- 添加多群组压测功能说明
- 添加使用示例
# 1. 编译项目
bash gradlew build
# 2. 配置 SDK(拷贝证书和配置文件)
cp -r ~/fisco/nodes/127.0.0.1/sdk/* conf/
cp src/test/resources/config-example.toml conf/config.toml
# 3. 执行压测
cd dist
java -cp 'conf/:lib/*:apps/*' \
org.fisco.bcos.sdk.demo.perf.PerformanceMultiGroupDMC \
group0,group1,group2 8 10000 100# 默认参数
./multi_group_test.sh
# 自定义参数
./multi_group_test.sh "group0,group1" 16 20000 200- FISCO BCOS Java SDK 3.7.0
- Google Guava (RateLimiter)
- ProgressBar 0.9.2
- 所有依赖已在 build.gradle 中配置
- 并发控制: ExecutorService + CountDownLatch
- 速率限制: Guava RateLimiter
- 进度展示: ProgressBar
- 统计收集: Collector 类
- ✅ 遵循 Google Java Format 规范
- ✅ 完整的函数级注释(中文)
- ✅ 完善的异常处理
- ✅ 资源正确释放
- 每个群组在独立线程中执行
- 线程池大小: CPU核心数 × 2
- 支持任意数量的群组(建议 ≤ CPU核心数)
- 每个群组独立的 Client 实例
- 每个群组独立的 Collector 统计
- 并行创建账户和发送交易
- 充分利用多核 CPU
- Ubuntu 18.04+ 或其他 Linux 发行版
- Java 8+
- Gradle 6.3+(或使用项目自带的 gradlew)
# 1. 上传项目到 Ubuntu
scp -r java-sdk-demo user@ubuntu-server:/path/to/
# 2. 在 Ubuntu 上编译
cd /path/to/java-sdk-demo
bash gradlew build
# 3. 配置和运行
# (与上述使用方法相同)- ✅ macOS 25.0.0 (开发环境)
- 🔄 Ubuntu (待测试)
-
准备 FISCO BCOS 节点
- 部署并启动多个群组的节点
- 确保各群组正常运行
-
配置 SDK
- 拷贝节点 SDK 证书到 conf 目录
- 配置 config.toml 中的节点地址
-
执行测试
- 先用小参数测试(如 1000 笔交易)
- 逐步增加负载
- 观察性能指标
-
性能调优
- 根据实际情况调整 JVM 参数
- 调整系统文件描述符限制
- 优化网络配置
- ✅ 实现多群组并行压测功能
- ✅ 基于 PerformanceDMC 扩展
- ✅ 保持向后兼容
- ✅ 代码能够正常编译
- ✅ 已打包到 dist 目录
- ✅ 提供完整文档
- ✅ 提供便捷脚本
- ✅ 准备好在 Ubuntu 上测试
- 快速使用: MULTI_GROUP_USAGE.md
- 详细文档: docs/MultiGroupPerformanceTest.md
- 变更说明: CHANGES.md
- 项目 README: README.md
- 在 Ubuntu 环境中部署 FISCO BCOS 节点
- 配置多个群组(建议 3 个群组)
- 执行多群组压测并收集数据
- 分析性能表现
- 根据实际情况优化参数
项目状态: ✅ 就绪,可以在 Ubuntu 上进行测试
最后更新: 2025-09-30
维护者: flying