96SEO 2026-02-20 01:08 0
。

除了这些技术难题#xff0c;我们基础团队的人员也比较紧张#xff0c;负责存储层运维的仅有
名同…伴随着公司业务的发展数据量持续增长存储平台面临新的挑战大图片的高吞吐、超分辨率场景下数千万小文件的
问题、运维复杂等问题。
除了这些技术难题我们基础团队的人员也比较紧张负责存储层运维的仅有
CephFS最终选择了JuiceFS。
在这个案例中我们将为大家介绍工业
使用中遇到的问题。
希望这些分享能给社区用户提供一些选型和运维方面的参考。
思谋科技的业务主要面向工业场景涵盖工业质检、智能制造和流程优化等领域。
我们的团队主要负责
平台的训练场景并为所有业务线提供训练平台支持。
我们管理整个公司的
单个项目的数据量很小缓存收益高优选带缓存的文件系统。
在工业场景中与人脸识别或自然语言处理等场景相比数据量小。
一个客户可能只提供了几百张图像我们需要利用这些图像来迭代出模型。
项目图片少就有利于我们做本地缓存所以支持本地缓存的文件系统
图像大小没有统一的规格大小文件均存在。
由于我们处于工业场景不同的工厂、产线与相机产生的图片是千差万别的。
例如我们使用线扫描相机收集的图片、或者
格式的图像大小很大几百MB甚至GB而其他相机拍摄的视频或照片可能只有几k大小。
所以我们既要面临大文件的吞吐问题还要面临海量小文件的
数据量与文件数增长速度非常快元数据压力大。
我们曾与产品经理进行容量预估发现一个项目在短短一周内就需要处理几十T的数据务。
另一个场景超分辨率领域的数据集具有一个典型的特点即将视频转化为图片。
因此一个视频可能会生成上百万、上千万个文件文件个数非常大。
文件个数对于文件系统元数据压力也很大。
因此我们训练平台对存储平台的容量以及元数据长时间临界状态的稳定性有很高的要求。
同时由于我们是自建IDC没有使用云所以存储系统运维与扩容是否便捷也是我们的首要考虑点。
JuiceFS。
由于我们团队成员较少且需要快速支持业务上线我们并没有足够的时间进行选型验证和上线周期的评估我们对于新组件的测试和上线需要更高效快捷。
当进行产品选型时不仅需要评估功能和性能还需要考虑中长期成本、与业务方的沟通等因素是一个很综合的复杂任务因此我们总结了一些选型经验和教训与大家分享
首先是成本、可靠性和性能之间的权衡。
除非公司有充足的资金否则只能在成本、可靠性和性能之间尽可能满足其中两个因素而不可能同时满足三个。
在成本受限的情况下我们建议将数据安全性放在高于性能的位置。
通过维护多个集群的经验我们得出一个观点性能达到可接受水平即可不必追求过高的性能。
我们对存储总体拥有成本TCO的理解是并非只涉及购买容量和性能方面的价格而是指越接近资源利用上限的使用实际持有成本越低。
花了大价钱买了很高的性能但是却用不上其实也是一种浪费。
第二点要尽早让内部的用户接入因为技术和业务工程师之间存在信息差。
举个例子我们在上线第一套存储系统后遇到了大量用户的投诉。
我们最初简单地理解离线训练任务无论是训练任务还是处理大数据都是为了实现高利用率和高吞吐。
然而实际情况是用户非常敏感于延迟。
任务完成时间可以参考网易云音乐AI
。
因此我们建议需要尽早与用户沟通了解他们的需求和反馈以弥补这种信息差。
第三点做好平台一致性不光是环境一致性做好也要做到任务运行的一致性。
举一个具体例子大型图片任务在网络上占用了大部分带宽大象流从而影响了小型图片任务的完成时间。
即使是相同配置的机器小图片任务完成的时间也会加倍。
用户会抱怨为什么在另一台机器上只需要3个小时而在这台机器上需要6个小时。
因此最好对每个任务都进行
除了以上三个要点外还有一些小的注意事项。
选择具备丰富配套工具和良好集成生态的产品而不仅仅看文档的数量。
我们测试了许多商业存储但发现它们的文档与其版本也有不匹配的现象。
因此我们更倾向于选择周边工具多的产品例如Debug工具监控工具等因为相比依赖于他人自己掌握更为可靠。
我们选择
的原因之一是它是少数带有性能调试工具的文件系统——JuiceFS
Pyroscope提供持续查看垃圾回收时间以及占用内存较大的块的功能这可能是许多人不常使用但非常实用的功能。
的带宽跑满了网卡上限。
然而实际情况是算法用户并不清楚这个概念。
当时我们不知道如何向用户解释。
后来是JuiceFS社区的一篇博客文章《如何借助
数据集进行训练的完成时间并与其他文件系统进行了对比。
这样的比较让算法用户更容易理解和评估
训练的一些数据。
在我们提供了这个对比数据后我们与内部用户的沟通变得非常顺利因为算法同学也希望能够加速训练过程。
更短的训练时长使他们能够调整更多参数、进行更多的尝试并生成更好的模型。
对于一个大平台很难在测试场景下模拟所以的使用场景。
我们需要先完成再不断完善。
例如上线后我们发现用户的使用方式并不完全符合我们的预期他们不仅仅存储数据集还将anacond等环境安装在存储系统上。
这些库都是小文件而是对时延要求特别高如果没有缓存到本地运行性能是无法接受的。
而这种场景在我们测试过程中是不会考虑到用户会将环境安装到存储里因为在我们的思维里大部分的环境都应该使用容器镜像。
所以一定要尽早的扩大测试范围让更多的用户参与测试与实际使用这样才能暴露更多的问题。
关于全内存元数据存储如果元数据过大意味着这台机器很可能无法完成混部。
机器的持有成本非常高同时一定要测试长时间临界状态下的稳定性。
文件系统文件数量超过一亿时性能开始下降已经达不到新集群时的水平。
我们进行了测试至少有
第三点我们需要一个简单的架构。
当时团队只有不到10个人需要支持各种项目与任务。
因此我们希望有一个简单的架构以便我们进行运维工作对于我们小团队来说简单意味着安全感。
我们测试了很多开源和商业存储方案最终选择了
SeaweedFS是高性能分布式存储系统用于存储块、对象、文件和数据湖可制成数十亿文件。
SeaweedFS因为它各项功能都可以通过一个简单的命令启动。
对于我们的团队来说它没有屏蔽一些部署、架构等细节同时我们的开发同学也能对其进行一些修改工作。
架构它将随机写操作聚合成顺序写操作具有对硬盘友好的特性。
虽然现在
架构支持小文件合并。
合并后的小文件不再受文件数量的限制不会遇到像
对小文件有“负面优化”将小文件拆分为数据文件和元数据文件。
在这种情况下如果再进行EC纠删码文件会被进一步拆分。
因此对于大量小文件的使用场景我们不推荐使用
接入。
支持S3就可以很方便的对接JuiceFS,我们当时看了很多案例博客主要有两篇文章。
一篇是
给了我们一些信心。
以及《京东登月平台》当时使用的小文件存储选择也是
的一些不足之处是资料相对较少文档不太丰富。
如果想了解某些功能需要直接查看源代码。
另外社区的维护相对薄弱边缘功能存在一些使用问题。
在我们的实际应用中我们发现只有
的机制无法正常的使用目前还在持续研究中。
另一个问题是多机房同步想测试多机房同步与备份在我们的测试中花费了很长时间也无法使其正常工作。
此外它还有冷热数据转换功能我们也无法成功测试。
这可能是由于我们的对其的了解有限我们仍在努力解决这些问题。
时权衡了其优点和缺点。
总而言之在进行架构选型时不要过早下结论尽可能推迟做出选择的时间多做场景测试多做小范围灰度测试以便全面评估和考虑各种因素。
做决定的时候多考虑大局不要局限于几个文件系统而要考虑选择某个文件系统后对团队后续的规划与建设是否有影响等。
第一个场景小容量存储总容量仅为百万到千万文件百TB级。
在这种情况下使用
Redis你会发现它非常好用而且日常无需太多关注。
我们使用的是单点的
Redis稳定运行了一年多从未发生过大型宕机只要进行好内存监控即可同时控制好文件个数。
第三多套小集群管理。
每个用户都部署了一套JuiceFS但底层都是使用同一个SeaweedFS。
我们当时选择这种方案有两个原因。
首先是出于历史原因。
我们从
是一个典型的重客户端文件系统所有逻辑都由客户端处理。
与工作负载之间就会争夺有限的资源内存这在我们集群已经成为常态问题。
内存是无法压缩的资源所以内存争抢问题可能导致客户投诉——为什么相同的代码在集群的
节点上却会崩溃用户会质疑为什么无法集群实现的环境一致性等诸多问题。
去查看就会发现是
节点的资源竞争更为激烈。
目前我们还没有找到一个很好的解决方案。
Kubernetes上的适配性就不太理想。
目前我们还没有找到一个很好的方法将
在非临界状态下的延迟几乎相当。
如果没有进行测量很难看出它们之间的性能差异。
在
等操作的性能差距可能非常大因为需要上锁。
但在实际读多写少的场景中我们在监控中发现
官网是一起的官网会列出所有参数但没有解释这些参数对系统的影响。
你需要逐个尝试来了解它们。
MinIO。
事实上我们的有些业务在一些实时性、可用性要求不强的环节中都采用了
功能。
我们的初衷是能够查看文件系统中的所有数据因此我们当时通过修改
其次在将系统部署到预生产环境后我们在短时间内创建了大量的持久卷声明PVC并进行挂载导致系统卡死。
经过定位我们发现在
操作这导致了在控制器容器中同时挂载/卸载多个JuiceFS文件系统从而导致控制器的容器资源不足并进入假死状态。
我们及时通知了CSI的维护者社区在下一个版本中进行了修复。
的容量持续上升而不下降。
但是实际上我们并没有遇到这种情况可能是因为我们使用了较高版本的TiKV。
我注意到JuiceFS的最新版本中也添加了
中设置了上传/下载限制后会出现大文件读写超时失败的问题这导致我们的QOS设置遇到了问题我们目前采用的还是从网络层面限制后续会对这里进行优化。
并没有分享我们的架构。
如果大家对我们的架构感兴趣可以查看云之声的案例大家的架构基本上都是相似的AI
首先处理一下重客户端与任务进行资源争抢的问题。
因为如果遇到整机内存超售的情况尤其是在大型节点和高压力任务下往往容易导致任务宕机。
在今年FAST
System。
但对于一般的公司来说这种方法的实现成本确实非常高。
的延迟在非临界状态下它们的延迟相近。
然而TiKV的部署运维非常复杂鉴于我们在其他项目中使用了
CockroachDB我们正在考虑是否可以将元数据切换到CockroachDB
上。
我们的场景对元数据的性能要求并不是特别高我们的业务主要是读取操作写入操作的速度慢并不会影响后续读取操作。
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback