本帖最后由 魔王大人 于 2021-10-28 01:03 编辑
CDN经验教程 设备相关 盒子、X86 X86指CPU架构为X86的电脑、服务器、工控机、笔记本…… X86CPU包括AMD、Intel(Intel部分产品使用ARM,非X86架构) 盒子指玩客云、斐讯N1、我家云……CPU为ARM架构的设备(部分NAS的CPU属X86架构) X86比盒子性能强(过老、低端、迷你型X86除外)可连接多硬盘,可用虚拟机,适合较大上行宽带 盒子性能弱,只能连接少量硬盘,适合较小上行宽带,以玩客云3为例,能吃满20-40M上行 建议:如上行宽带大于100M甚至更多、NAT类型优良、连接数无限制,建议用X86,因每个盒子,至少配一个硬盘,在跑满相同大带宽时,需要硬盘多,成本大,X86较划算 小上行宽带、连接数有限制、NAT类型不佳,建议用盒子或已有的X86,避免投资后无法回本
虚拟机 部分虚拟机可直接运行在主机上,例如ESXI,部分虚拟机必须运行在Windows或Linux操作系统上,例如Hyper-V、VMware Workstation,承载虚拟机软件的操作系统和虚拟机软件会损耗一部分性能,安装在虚拟机里的系统性能只能小于真实主机 建议: 主机跑一个业务,无其他用途,直接安装ISO 主机跑多个业务,或有其他日常用途,装虚拟机 虚拟机建议用无需底层系统的软件,例如ESXI,如必要底层系统,建议用服务器版Linux底层,例如CentOS,稳定性、性能略高于服务器版Windows且远高于个人版Windows CPU选择 仅建议考虑两种 洋垃圾(老服务器CPU) 优点:便宜,可装多CPU 缺点:功耗大 锐龙(AMD在售锐龙CPU) 优点:功耗小,可以搭配较新内存条和其他硬件 缺点:一个主板只能安装一个CPU 建议: 使用Intel官方在售的家用CPU,性价比极差,不建议,土豪请忽视此条 买二手CPU无需担心寿命问题,CPU正常使用,几乎十几年也不会坏,损坏率极低 核心数、线程数、主频要求,各CDN官网都给出了建议,请前往官方查看 使用超线程技术CPU,频率高对CDN业务有帮助 想一直挂CDN,直到机器报废,不在意电费,或宽带大,收益远超电费,选择洋垃圾 想日常使用的同时开虚拟机挂CDN,或CDN项目灭绝后,或未来不挂CDN后自用,选择锐龙 硬盘选择 CDN对硬盘的需求 CDN是将文件打碎后经索引,放在硬盘里,读取时,并不是读取一个大文件,而是许多散碎文件,考验硬盘随机读取速度(每秒随机读取量)和随机读取IOPS(每秒随机读次数) 机械盘vs固态盘 机械盘 优点:不意外断电、不震动、无强磁……情况下,寿命接近无限。存满不掉速 缺点:随机读速度和随机读IOPS极低。占用CPU极大,如果CPU性能可无成本扩展,或CPU性能远超带宽所对应的官方推荐搭配CPU的性能,请忽略该提示*使用性能极差的固态盘也有可能出现该问题 运行时遇震动、断电等情况,会损坏
固态盘 优点:随机读速度和随机读IOPS较高 缺点:擦写寿命有限,存满易掉速(使用slc颗粒或使用远超标注容量的mlc、tlc、qlc颗粒模拟slc缓存的硬盘除外) slc、mlc、tlc、qlc是四种不同类型的储存颗粒 速度、寿命、价格排行(从高到低) slc>mlc>tlc>qlc *排行仅适用于同代产品,例如intel产品线中,部分新tlc速度要优于老mlc 颗粒体积相同时,容量排行(从大到小) qlc>tlc>mlc>slc mlc、tlc、qlc可以通过软件算法让它的速度达到slc,但对主控芯片要求高,且会损失一定的容量,例如用mlc模拟slc速度,硬盘实际容量2t,标注容量1t,牺牲1t空间,可达全容量100%模拟slc,且全程不掉回mlc的速度,损失容量越大,可模拟slc速度的容量越多,一般可以30%-50%容量达到slc就算是不错的硬盘了,主控会将正在写入或常用的数据存储在slc模拟区域,空闲时再将之前写入在slc模拟区域的内容转换为本硬盘颗粒的模式,既保证存储容量大,又能提升写入速度并让常用的数据快速提取。实际容量和标注容量相差小的硬盘,使用全盘模拟slc算法,寿命低,可能会出现达到一定容量后掉速现象 如果颗粒类型、品质、容量相同,主控就成为了硬盘性能的关键
建议: 用性能较低的盒子或X86,配合小上行宽带,可搭配机械盘或固态盘,盒子性能无法处理大量数据,对硬盘读取速度要求小,机械盘的劣势不明显,收益差距小 用性能高的X86,配合大上行宽带,务必用固态盘,因设备本身性能强,可同时处理大量数据,对硬盘随机读取速度要求大,机械盘的劣势较明显,会造成CPU索取数据时等待机械盘读取数据时间过长,占用大量CPU通道而不断开,使CPU负载大幅上升,一个固态盘随机读取IOPS可以达到机械盘十几倍,优秀固态甚至数十倍 如使用多机械盘阵列或存储服务器,则可一定程度上用数量多来弥补机械盘速度的不足,但会消耗大量CPU资源 固态盘颗粒 自有颗粒 能生产存储颗粒的厂家很少,这些厂家使用自己生产的颗粒制造硬盘。例如三星、闪迪、紫光等 第三方颗粒 通过购买上述厂家的颗粒,生产成品贴上自己的品牌名,例如金士顿、七彩虹、铭瑄等
建议: 较好的颗粒,厂家会优先提供给自家品牌使用,其他使用第三方颗粒的贴牌厂,采购的颗粒大多是白片或者黑片,建议优先购买自有颗粒的厂商,颗粒质量一般都高于第三方颗粒,部分特别高价的产品除外,比如海盗船固态使用三星较好的颗粒,就要比西数使用自家颗粒的好一些
原片、白片、黑片 原片:通过质检后,又经过筛选,挑出性能较好的颗粒 白片:通过质检的颗粒 黑片:未通过质检,但勉强能用的颗粒 原片代表厂商:三星、Intel、金士顿、西部数据、大多数英睿达、闪迪、东芝、浦科特、希捷、建兴、部分影驰…… 白片代表厂商:阿斯加特、部分英睿达、光威、部分惠普、部分威刚、金百达、金盛维、海康威视、部分台电、铭瑄、ShineDisk(不是闪迪)、宇瞻、部分影驰、部分金士顿 黑片代表厂商:七彩虹、金泰克、金邦、士必得、部分台电、部分联想 以上列举的厂商未必完整,且随着时间推移,厂商产品有退步、进步的可能,仅供参考 固态硬盘接口 PCI-E、NVME、SATA、USB(转接线、硬盘盒) 以上不同接口速度有差距,可自行百度,但对于CDN,并无优劣,USB也足以满足目前最快的硬盘随机读取速度传输,接口并不是最小瓶颈,颗粒速度才是最小瓶颈,只要硬盘随机读取速度不大于USB速率,经过转接后性能无损失(极差的转接线或电脑配置极低,会有少量协议损耗),对CDN业务无影响 更快的接口厂商会搭配较快颗粒,也有例外,如台电NVME随机读取不如三星SATA或经过转接线改装的USB硬盘 单硬盘vs多硬盘 使用很大的单固态或者机械,并不能成倍提升收益,即便缓存量多,命中率高,但是同一时间被命中的缓存较多时,短时间内无法取出,如果接口充足,建议用多硬盘,总容量相等情况下,多硬盘效果一定远高于单硬盘 RAID磁盘阵列(结论经网心云确认) 阵列分为多级,商用使用RAID5,特殊情况下少量使用RAID0或RAID1或RAID0与RAID1组合, CDN需要速度快,以RAID0为例,单文件平均分割多份存入多个磁盘中,读取时多个磁盘同时提供经分割的数据合并成一个文件,硬盘数量翻倍则读写速度翻倍,CDN运行时需要读取很多散碎文件,这些散碎文件随机存放在多个硬盘中,即便没有RAID,读取时多个磁盘也都在提供不同数据,每个磁盘都不会闲置 多个磁盘缓存量、命中率相同时,磁盘阵列对性能没提升 多个磁盘缓存量、命中率其中一个不同时,磁盘阵列对性能有提升,前两者差距越大,阵列后性能提升越大(*但如果没做RAID时,缓存部署一段时间后,足够跑满宽带或多个磁盘负载全部100%,则做RAID后对性能无提升) 建议:RAID只能在极少数场景下略微提升性能,如果缓存很多且其中某些硬盘没有达到100%负载,排除调度问题后依然跑不满宽带,可做RAID,但不一定有提升,即便有提升也很有限。除此之外其他场景RAID均无法提升性能,不建议做,以减少后期维护成本,做RAID0其中一块硬盘出现故障,所有缓存都必须丢弃重新部署 硬盘温度 机械盘比固态盘更耐热,温度升高机械盘不易掉速,但因机械盘随机读取和随机读IOPS极低,即便没有因高温掉速,速度也不会比因高温掉速的固态盘快 固态盘当中的主控芯片会因负载大而发热,反应迟钝,建议首选金属外壳的固态盘或无外壳nvme配合导热片(后者性价比较低)多硬盘堆叠请注意间距,保持风道畅通,塑料外壳固态盘如无保修防拆贴或已过保,建议拆外壳并用经绝缘处理的石墨贴包裹散热,保内有防拆贴的产品不建议拆解,会影响质保 硬盘售后 固态盘存储颗粒擦写达到一定次数,会损坏,一些先进的主控拥有全局磨损平衡算法,写入新数据时,写入到擦写次数少的位置 到达保修期前,可疯狂写入,损坏硬盘达到保修换新目的,有些硬盘在保修条例里加入了写入数量限制,这种需要在写入量快要达到的时候,做一个很小的分区,1M即可,对这个分区疯狂写入,这样不会触碰到写入限制,还可以损坏硬盘去保修,对于全局磨损平衡算法的主控,以上方法不可取,需将硬盘存入99.99……9%的数据,对剩余的0.00……1%的空间疯狂写入,也不会增加多少写入量,写入工具可使用脚本+linux自带的dd命令,win平台可用按键精灵脚本,复制粘贴删除反复(详细操作请百度)不嫌累的可手动写入
机械盘只需在读写时震动,即可损坏 硬盘推荐(部分数据来源于我爱网心云 |