SOLVED smb3 on TrueNAS-SCALE-22.02-RC.2 is slower than smb2

vpv

Dabbler
Joined
Jan 6, 2021
Messages
10
Hi!

I'm running VDR to record live TV (DVB-C here), in the long haul it's cheaper than paying for all the streaming services. I use SCALE 22.02 RC2 as a home NAS to store these recordings (and everything else, pretty much). I noticed Kris Moore posted on Twitter, that iX no longer recommends using both SMB and NFS and that it's recommended to use only SMB.

I used to run NFS for the video share and SMB for everything else. I decided to test using SMB for the video share as well. I have a separate system that receives the DVB signal and writes it to the NAS. This system has a weak CPU, it's an old Pentium Dual-Core E5200, but I can watch HDTV by using VDPAU with the GPU.

When I mounted my video share with vers=smb3 or vers=smb3.1.1, I was not able to record a single complete TV show episode without errors. This is how the errors show up in the VDR logs:

Code:
Jan 31 22:43:16 digitv-kone vdr[22612]: [22667] device 2 receiver thread started (pid=22612, tid=22667, prio=high)
Jan 31 22:47:04 digitv-kone vdr[22612]: [22667] i/o throttle activated, count = 1 (tid=22667)
Jan 31 22:47:10 digitv-kone vdr[22612]: [22667] buffer usage: 70% (tid=22666)
Jan 31 22:47:14 digitv-kone vdr[22612]: [22667] buffer usage: 80% (tid=22666)
Jan 31 22:47:16 digitv-kone vdr[22612]: [22667] buffer usage: 90% (tid=22666)
Jan 31 22:47:20 digitv-kone vdr[22612]: [22667] buffer usage: 100% (tid=22666)
Jan 31 22:47:20 digitv-kone vdr[22612]: [22667] ERROR: 1 ring buffer overflow (1 bytes dropped)
Jan 31 22:47:26 digitv-kone vdr[22612]: [22667] ERROR: 25030 ring buffer overflows (4705640 bytes dropped)
Jan 31 22:47:32 digitv-kone vdr[22612]: [22667] ERROR: 32431 ring buffer overflows (6097028 bytes dropped)
Jan 31 22:47:38 digitv-kone vdr[22612]: [22667] ERROR: 32807 ring buffer overflows (6167716 bytes dropped)
Jan 31 22:47:44 digitv-kone vdr[22612]: [22667] ERROR: 29978 ring buffer overflows (5635864 bytes dropped)


The problem stays as long as the receiver thread is alive. Apparently either the recording host is unable to write as fast as needed or the SMB share is unable to receive as fast as needed. But if I mount the share with vers=2.1, everything works great. The recording host is Ubuntu 20.04. I also tried with a current kernel (5.16.5-051605-generic), which doesn't help. The cifs-utils package is 2:6.9-1ubuntu0.1.

Is there anything I should check or tune? If there are clear instructions on how to roll back to RC2, I'm willing to test nightlies. Using SMB2 is not a big deal for me, but I thought SMB3 would be the more performant variant.
 

Kris Moore

SVP of Engineering
Administrator
Moderator
iXsystems
Joined
Nov 12, 2015
Messages
1,471
Had one of our engineers take a look. The CPU being used doesn't have AES-NI instruction set, and SMB3 is going to try to make use of some newer encryption routines. Not having those CPU instructions is going to hurt performance as you are seeing.
 
  • Like
Reactions: vpv

vpv

Dabbler
Joined
Jan 6, 2021
Messages
10
Thank you for looking into this! I'll use smb2 for this mount, then. Good to hear it's not a software bug. At some point I'll have to replace the system that receives the DVB signal, but PC hardware is still overpriced, so I'll wait a while.
 
Top