现在很多中高端电脑主板已经配备了 2.5G 以太网口,为了利用 z490 unify 和 AX86U 上的 2.5G 网口,一个月前将家里网络升级到了 2.5G 真实的加钱加到九万八

下面是升级的踩坑经验

2.5G 交换机选购

自带多个 2.5G 网口的路由器很少且昂贵,所以需要购买 2.5G 网口的交换机,现在市面上电口 2.5G 交换机就那么几款,价格亲民的也就一款 TP-LINK 的 5/8 口交换机

NAS 10G 光转电模块

为了 2.5G 网络,把原来蜗牛星际搭的黑群晖换成了 QNAP TS-532X,同样也是追求便宜的选择,虽然是 ARM 处理器,但是本人对 NAS 虚拟化的要求也不高

532X 自带两个 10G 光口,需要光转电模块才可以接交换机,个人购置的是鸿章 10G 光转电模块,此模块分为 Marvell 方案和 Aquantia 方案,这两个方案又分全速率(10G/5G/2.5G/1G)自适应和仅 10G 两个版本

据卖家描述,Aquantia 方案对瑞昱网卡、532X 的支持最好,z490 unify、TP-LINK 正好是瑞昱网卡,所以最后选择了 Aquantia 的全速率光转电模块

到手后即插即用,与 TS – 532X 没有任何兼容性问题,温度也没有想象中那么高,没有交换机发热量大

另:532X 的两个以太网口可以进行链路聚合,可以当做 2G 网络使用

关于巨型帧

首先巨型帧是以太网标准,无线网络是没有巨型帧标准的(至少现在没有,未来说不定会加入)

想要使用巨型帧,必须在网络的每个节点都开启巨型帧,例如:

从 PC 到 NAS,中间经过 AP 和 交换机,则 PC、NAS 的以太网卡、AP 和交换机都要开启巨型帧

Windows 操作系统下开启巨型帧

需要安装对应的网卡驱动,Windows 自动安装的驱动可能不支持开启巨型帧

安装驱动后右键 此电脑,进入 管理 – 设备管理器,右键以太网卡进入 属性,然后在 高级 标签页内找到巨型帧开启

z490 unify 的网卡可以支持 16000 大小的巨型帧

巨型帧带来的问题

前面说过无线网络 802.11 标准是没有巨型帧的,最大 MTU 为 2304,所以如果开启巨型帧,所有使用无线网络的设备会有不小的性能损失

对我来说最直观的性能损失就是观看 NAS 中视频时的频繁卡顿,手机、笔记本观看视频(1080p h.264 mkv)每隔 3-5秒就要卡顿一次,根本无法正常观看

对于文件传输,开启巨型帧也没有太大的提升,反而使用无线网的笔记本会大幅掉速:原来读取垃圾机械盘可以跑到 60MB/s ,开启巨型帧后读取 SSD 只能到 20+MB/s

以上问题在关闭巨型帧后得到解决,笔记本无线读取 SSD 最终稳定在 90MB/s,z490 的 2.5G 口也没有发生严重掉速:开启巨型帧时传输速度 295MB/s,关闭后也有 280-290MB/s 的速度

最终结论

在家庭 2.5G 网络的场景下,巨型帧对传输速度的提升并不大(感知不强),反而会对无线设备造成很大的影响(徒增功耗),所以不建议开启

感知最大的提升 NAS 传输速度的方法还是增加 SSD 缓存,解决机械硬盘速度瓶颈,让硬盘先跑满网络速度

Chanify 类似于 Bark,使用起来比 Bark 更复杂,比 Bark 功能多在支持图片和文件传输

关于 Bark 服务端搭建:Bark服务端搭建

下文将展示如何在 Debian 10 下安装 Chanify,以及 Chanify 的基本使用方法

环境

  • Debian 10
  • iOS Chanify App

参考

步骤

Chanify 搭建

这里使用可执行文件,docker 操作基本一致

获取预编译文件

发布页面

执行指令

wget https://github.com/chanify/chanify/releases/download/v1.1.1/chanify_Linux_x86_64.tar.gz
tar zxvf chanify_Linux_x86_64.tar.gz

作为客户端发送信息

执行指令

# 来自官方源
# 文本消息
$ chanify send --endpoint=http://<address>:<port> --token=<token> --text=<文本消息>

# 链接消息
$ chanify send --endpoint=http://<address>:<port> --token=<token> --link=<网页链接>

# 图片消息
$ chanify send --endpoint=http://<address>:<port> --token=<token> --image=<图片文件路径>

# 文件消息
$ chanify send --endpoint=http://<address>:<port> --token=<token> --file=<文件路径> --text=<文件描述>

Chanify - 又一款 iOS 推送服务

可以不指定 endpoint 参数,chanify 将默认使用 https://api.chanify.net

token 参数获取:iOS App 中 设备 – 右上角三点

作为服务端转发信息

官方教程中称作“无状态服务器”,实际上就是将发送到自建服务器的请求转发到 https://api.chanify.net,在 https://api.chanify.net 和请求之间加一个中转

执行指令

chanify serve --host=[服务器 IP 地址] --port=[指定端口] --secret=[自定义密钥] --name=[自定义名称] --endpoint=http://[服务器 IP]:[指定的端口]

作为服务端直接发送信息

官方教程中称作“有状态服务器”,实际上是直接发送到 Apple 的推送服务器,不经过 https://api.chanify.net,会在本地存储用户的信息

执行指令

chanify serve --host=[服务器 IP 地址] --port=[指定端口] --secret=[自定义密钥] --name=[自定义名称] --datapath=[自定义用户信息存储路径] --endpoint=http://[服务器 IP]:[指定的端口]

Chanify 使用

Continue reading “Chanify – 又一款 iOS 推送服务”