近期,我们在云端渲染场景中,对 100 至 3000 节点的 JuiceFS Windows 客户端进行了性能测试。测试内容为渲染前置任务,即在渲染任务之前执行所有存储相关操作。

与实际使用场景相比,本次测试采用了更为苛刻的条件,使用了大量小文件的数据进行测试。任务要求 1000 台机器平均时间在 30分钟内完成。客户原来使用SMB 服务,随着渲染机器数量增加,网络带宽、负载均衡等因素会降低性能表现,在 2000 台以上就基本无法使用。而 JuiceFS 测试结果在 3000 台并发渲染任务中依旧性能平稳,平均执行时间为 22 分 22 秒。

目前,JuiceFS Windows 客户端 Beta 版本已集成于社区版 v1.3 和 企业版 v5.2 中,具体优化历程可参考:首个 Windows Beta 版的优化之路。希望有需求的用户积极尝试并进行测试,并欢迎大家在使用过程中反馈问题和改进建议。

01 Windows 渲染场景用例与资源配置

渲染场景测试用例文件大小分布

此次测试样本共包含 65,113 个文件,其中大小在 128KB 以下的文件占比为 95.77%,相比日常的渲染场景,本次测试特别增加了小文件的占比,以更严苛的条件进行测试。

  • ≤1K: 11,053 个文件
  • 1K~4K: 1,804 个文件
  • 4K~128K: 49,504 个文件
  • 128K~1M: 1,675 个文件
  • 1>1M: 1,077 个文件

各组件硬件配置

部署方案

在此次测试中,我们使用了 JuiceFS 企业版,企业版采用了自研的高性能元数据引擎,并提供了分布式缓存支持,关于分布式缓存可参考文章:从资源闲置到弹性高吞吐,JuiceFS 如何构建 70GB/s 吞吐的缓存池

为了获得最佳性能,我们将 35GB 的样本完全预热到分布式缓存中。部署架构图如下:

JuiceFS 挂载参数设置

缓存服务器挂载参数:

juicefs mount jfs /jfs-mem \
--buffer-size=4096 \
--cache-dir=/dev/shm \
--cache-group=cache-mem \
--cache-size=122400 \
--free-space-ratio=0.02

Windows 客户端挂载参数:

juicefs.exe mount jfs J: --buffer-size=4096 --cache-group=cache-mem --no-sharing --console-url http://console:8080 --enable-kernel-cache

注意:

  • --console-url:指定控制台的URL,第一次挂载或者新建文件系统后须输入。
  • --enable-kernel-cache:启用 WinFSP 内核缓存:默认是不启用,大量随机 512 字节读取时性能比较差,

建议打开,请求就会聚合成 4K。

02 测试结果

数据存储在 JuiceFS 中,100 至 3000 台远端 windows 客户端读取这些数据时,渲染前置存储读取任务的耗时如下表所示。

从上面的数据中,我们可以看到:

  • JuiceFS 能够在不同规模的渲染前置存储任务中保持高效的性能,随着设备数量的增加,系统的吞吐量和 IOPS 性能提升。
  • 当设备规模达到 3000 台时,JuiceFS 能够稳定承受每秒 127 万次的元数据请求,分布式缓存吞吐14.7GB/s,Windows 客户端聚合吞吐达到 23.8GB/s,渲染任务完成耗时平均 22 分钟 22 秒。

03 总结

该测试场景基于实际渲染环境设计,但具有更高的负载与性能要求,旨在验证 JuiceFS 在渲染任务中的数据处理能力。测试内容涵盖 JuiceFS 的整体产品能力,包括 Windows 客户端、元数据服务器软件和分布式缓存集群软件。测试结果表明,JuiceFS 能够支持至少 3000 台 Windows 设备同时进行渲染前置存储相关读取的任务,平均完成时间为 22 分钟 22 秒,最大任务完成时间在 34 分钟以内,显示了 JuiceFS 在大多数渲染场景中能够有效满足实际业务对存储的需求。

3000 台 JuiceFS Windows 客户端性能评估的更多相关文章

  1. JuiceFS 性能评估指南

    JuiceFS 是一款面向云原生环境设计的高性能 POSIX 文件系统,任何存入 JuiceFS 的数据都会按照一定规则拆分成数据块存入对象存储(如 Amazon S3),相对应的元数据则持久化在独立 ...

  2. 【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

    1.环境 1.1.关闭防火墙 命令:systemctl stop firewalld 或者 systemctl stop firewalld.service (备注:相应的,若要开启防火墙,将对应的& ...

  3. Linux网络性能评估工具iperf 、CHARIOT测试网络吞吐量

    网络性能评估主要是监测网络带宽的使用率,将网络带宽利用最大化是保证网络性能的基础,但是由于网络设计不合理.网络存在安全漏洞等原因,都会导致网络带宽利用率不高.要找到网络带宽利用率不高的原因,就需要对网 ...

  4. [转]网络性能评估工具Iperf详解(可测丢包率)

    原文链接:安全运维之:网络性能评估工具Iperf详解:http://os.51cto.com/art/201410/454889.htm 参考博文:http://linoxide.com/monito ...

  5. Linux服务器性能评估与优化(一)

    网络内容总结(感谢原创) 1.前言简介 一.影响Linux服务器性能的因素   1. 操作系统级         性能调优是找出系统瓶颈并消除这些瓶颈的过程. 很多系统管理员认为性能调优仅仅是调整一下 ...

  6. 解决服务器Active Directory环境里Windows登录性能问题办法

    Windows登录性能因素 当查找登录性能问题的原因时,考虑大量因素很重要.一些因素包括: 域控制器太接近用户 网络连接与可用的带宽 数据中心上的硬件资源(x64 vs.x86.内存等) 应用于用户和 ...

  7. Windows下性能最好的I/O模型——完成端口

    I/O模型--完成端口 设计目的: 常见的网络通信分为两种:同步和异步. 在同步通信中,每一次接受数据都会导致主线程的挂起,从而阻塞住了其他操作.为了解决这一问题,我们通常会采取同步通信+多线程的策略 ...

  8. 转贴---Linux服务器性能评估

    http://fuliang.iteye.com/blog/1024360 http://unixhelp.ed.ac.uk/CGI/man-cgi?vmstat ------------------ ...

  9. 如何提高windows的性能

    默认windows启用了很多的效果,我们可能平时没有注意到,比如什么淡入淡出效果之类的,其实在我看来,这些效果不仅难看,而且影响了windows的性能,下面我就来说说怎么通过关闭这些效果来提高wind ...

  10. Putty+Xming实现在Windows客户端显示Linux服务器端的图形化程序

    走了不少弯路啊~~~言归正传,最近研发和我说要在一台EC2的机器上运行一个带GUI的程序,当时我就纳闷了:EC2的机器应该没有桌面套件的吧,那该怎么运行GUI的程序呢?百思不得其解时收到一封邮件,大致 ...

随机推荐

  1. 用装饰器简化大量if-elif代码

    源码地址:https://github.com/edgedb/edgedb/blob/master/edb/common/value_dispatch.py 鸣谢原文:一日一技:使用装饰器简化大量 i ...

  2. 2023人形全能赛体操机器人uno代码

    uno // @Author : Hcm #include <SoftwareSerial.h> // 软串口 #include <LobotServoController.h> ...

  3. 「Note」CF 套题

    最后一次添加的题目:CF1572C CF *2000-*2100 \(\color{blueviolet}{CF771C}\) 非常好题目啊. 首先考虑题目让你求的到底是个什么东西,不难看出 \(f( ...

  4. Solon AI + MCP实战:5行代码搞定天气查询,LLM从此告别数据孤岛

    此文参考自:https://www.toutiao.com/article/7505712149642117669/ 一.痛点直击:为什么你的AI模型会"一问三不知"? 当你问 L ...

  5. 03 - LayoutPanels例子 - SimpleInkCanvas

    C# maui暂时没有官方支持InkCanvas,但是不影响,自己实现一个就行了.目前支持,画图,选择,移动和删除.同时支持自定义橡皮擦形状,也支持绑定自定义的形状列表. 实现一个Converter类 ...

  6. ChunJun FTP Connector 功能扩展解读

    本文将从 FTP Connector的功能详解,自定义文件切割及自定义 FileFormat 三个方面为大家带来 ChunJun FTP Connector 的功能扩展分享. FTP Connecto ...

  7. 下一代 2D 图像设计工具「GitHub 热点速览」

    长期以来,2D 设计领域似乎已是 Adobe 与 Figma 的天下,层叠的图层.熟悉的工具栏,一切都显得那么顺理成章,却也让不少设计师在创意的边界上感到了些许乏力.当我们以为设计工具的革新只能是小修 ...

  8. C# 删除App.config中的,WinForm 自动添加的runtime

    /// <summary> /// 清空App.config节点下的内容 /// </summary> /// <param name="strNode&quo ...

  9. pdf工具类之根据页码复制(分割)pdf

    实现思路:将原pdf中第m页和第n页的内容复制到目标pdf中 代码如下: 1 /** 2 * 复制(分割)pdf 3 * 4 * @param sourceFilePath 源文件地址 5 * @pa ...

  10. java工具类集合(一)

    所介绍的工具包均可直接新建工具类丢在包下面. 1.在使用Controller向Ajax传参时常常使用JSON来完成传参,所以写了一个工具类,将返回的数据封装成JSON格式. 1 package com ...