✨
Singularity
中文
中文
  • 概述
    • 什么是Singularity
    • V1或V2
  • 安装
    • 下载二进制文件
    • 通过Docker安装
    • 从源代码构建
    • 部署到生产环境
  • 数据准备
    • 快速入门
    • 性能调优
  • 内容分发
    • 分发CAR文件
  • 交易处理
    • 创建交易计划
  • 主题
    • 内嵌准备
    • 基准测试
  • 💻CLI 参考
    • 菜单
    • Ez准备
    • 版本
    • 管理员
      • 初始化
      • 重置
      • 迁移数据集
      • 迁移计划
    • 下载
    • 提取Car
    • 交易
      • 计划
        • 创建
        • 列表
        • 更新
        • 暂停
        • 恢复
      • 手动发送
      • 列表
    • 运行
      • API
      • 数据集处理器
      • 内容提供者
      • 交易跟踪器
      • 交易发布者
      • 下载服务器
    • 钱包
      • 导入
      • 列表
      • 删除
    • 存储
      • 创建
        • Acd
        • Azureblob
        • B2
        • Box
        • Drive
        • Dropbox
        • Fichier
        • Filefabric
        • Ftp
        • Google Cloud Storage
        • Gphotos
        • Hdfs
        • Hidrive
        • Http
        • Internetarchive
        • Jottacloud
        • Koofr / Digi Storage
          • Digistorage
          • Koofr / Digi Storage
          • 其他
        • 本地
        • Mailru
        • Mega
        • Netstorage
        • Onedrive
        • Opendrive
        • Oos
          • Env_auth
          • Instance_principal_auth
          • No_auth
          • Resource_principal_auth
          • User_principal_auth
        • Pcloud
        • Premiumizeme
        • Putio
        • Qingstor
        • AWS S3和兼容存储
          • Aws
          • 阿里云
          • Arvancloud
          • Ceph
          • Chinamobile
          • Cloudflare
          • Digitalocean
          • Dreamhost
          • 华为云
          • Ibmcos
          • Idrive
          • Ionos
          • Liara
          • Lyvecloud
          • Minio
          • 网易云
          • 其他
          • Qiniu
          • Rackcorp
          • Scaleway
          • Seaweedfs
          • Stackpath
          • Storj
          • 腾讯云
          • Wasabi
        • Seafile
        • Sftp
        • Sharefile
        • Sia
        • Smb
        • Storj
          • 已存在
          • 新建
        • 蓝奏云
        • Swift
        • Uptobox
        • Webdav
        • Yandex
        • Zoho
      • 浏览
      • 列表
      • 删除
      • 更新
        • Acd
        • Azureblob
        • B2
        • Box
        • Drive
        • Dropbox
        • Fichier
        • Filefabric
        • Ftp
        • Google Cloud Storage
        • Gphotos
        • Hdfs
        • Hidrive
        • Http
        • Internetarchive
        • Jottacloud
        • Koofr / Digi Storage
          • Digistorage
          • Koofr / Digi Storage
          • 其他
        • 本地
        • Mailru
        • Mega
        • Netstorage
        • Onedrive
        • Opendrive
        • Oos
          • Env_auth
          • Instance_principal_auth
          • No_auth
          • Resource_principal_auth
          • User_principal_auth
        • Pcloud
        • Premiumizeme
        • Putio
        • Qingstor
        • AWS S3和兼容存储
          • Aws
          • 阿里云
          • Arvancloud
          • Ceph
          • Chinamobile
          • Cloudflare
          • Digitalocean
          • Dreamhost
          • 华为云
          • Ibmcos
          • Idrive
          • Ionos
          • Liara
          • Lyvecloud
          • Minio
          • 网易云
          • 其他
          • Qiniu
          • Rackcorp
          • Scaleway
          • Seaweedfs
          • Stackpath
          • Storj
          • 腾讯云
          • Wasabi
        • Seafile
        • Sftp
        • Sharefile
        • Sia
        • Smb
        • Storj
          • 已存在
          • 新建
        • 蓝奏云
        • Swift
        • Uptobox
        • Webdav
        • Yandex
        • Zoho
      • 重命名
    • 准备
      • 创建
      • 列表
      • 状态
      • 重命名
      • 附加来源
      • 附加输出
      • 分离输出
      • 开始扫描
      • 暂停扫描
      • 开始打包
      • 暂停打包
      • 开始Daggen
      • 暂停Daggen
      • 列表片段
      • 添加片段
      • 浏览
      • 附加钱包
      • 列表钱包
      • 分离钱包
  • 🌐Web API 参考
    • 交易计划
    • 交易
    • 文件
    • 作业
    • 片段
    • 准备
    • 存储
    • 钱包关联
    • 钱包
    • 规范
  • ❓常见问题
    • 数据库已锁定
Powered by GitBook
On this page
  • 准备测试数据
  • 使用 ez-prep
  • 在线准备基准测试数据
  • 使用内存数据库进行基准测试
  • 使用多个工作线程进行基准测试
  • 解读结果
  • 比较

Was this helpful?

Edit on GitHub
  1. 主题

基准测试

Singularity 中的 ez-prep 命令提供了一种简化的基准测试方法。

准备测试数据

首先,您需要生成用于基准测试的数据。这里使用稀疏文件来消除基准测试中的磁盘 IO 时间。由于 Singularity 目前不执行 CID 去重,因此它将这些文件处理为随机字节。

mkdir dataset
truncate -s 1024G dataset/1T.bin

如果您希望在基准测试中包含磁盘 IO 时间,请使用以下方法创建一个随机文件:

dd if=/dev/urandom of=dataset/8G.bin bs=1M count=8192

使用 ez-prep

ez-prep 命令通过最少的可配置选项从本地文件夹中简化数据准备过程。

在线准备基准测试数据

在线准备可以避免导出 CAR 文件,直接将元数据保存到数据库中:

time singularity ez-prep --output-dir '' ./dataset

使用内存数据库进行基准测试

为了最小化磁盘 IO,可以选择使用内存数据库:

time singularity ez-prep --output-dir '' --database-file '' ./dataset

使用多个工作线程进行基准测试

为了最大限度地利用 CPU 核心,可以设置基准测试的并发性。注意:每个工作线程使用大约 4 个 CPU 核心:

time singularity ez-prep --output-dir '' -j $(($(nproc) / 4 + 1)) ./dataset

解读结果

典型的输出将类似于以下内容:

real    0m20.379s
user    0m44.937s
sys     0m8.981s
  • real:实际经过的时间。使用更多的工作线程应该会减少这个时间。

  • user:在用户空间使用的 CPU 时间。将 user 除以 real 可以近似计算出使用的 CPU 核心数。

  • sys:在内核空间使用的 CPU 时间(表示磁盘 IO)。

比较

以下基准测试是在一个随机的 8G 文件上进行的:

工具
时钟时间(秒)
CPU 时间(秒)
内存(KB)

Singularity(内联准备)

15.66

51.82

99

Singularity(非内联准备)

19.13

51.51

99

go-fil-dataprep

16.39

43.94

83

generate-car

42.6

56.08

44

go-car + stream-commp

70.21

139.01

42

Previous内嵌准备Next菜单

Last updated 1 year ago

Was this helpful?