I notice on my dashboard or with htop that one or more of my cores reach 100% usage when running just about any task (e.g. mover, parity check, SMB file transfer). My real concern is writing to my SSD cache via SMB, where speeds max out at just 250-300MB/s. Below are some tests I have run.
-I have a 10GbE NIC in my NAS that is connected directly to a windows PC (no router nor switch in-between, just a direct CAT6A cable into a thunderbolt 10GbE adapter on my PC). Using iperf3, I get 9.8 Gbit/s speeds, so network is not the issue.
-If I test my SSDs directly with a test file (dd if=/dev/zero of=/mnt/cache/...) I get over 1GB/s speeds, so the SSDs seem to be fast enough, although the speed is slow for a gen3 NVMe SSD. This test full saturates a CPU core.
-Using crystaldiskmark I get 250-300MB/s writes via user share. If I test writing directly to the disk share, I get about 500 MB/s. Both tests fully saturates a CPU core.
-In all tests, one or more of my CPU cores reaches max usage. My understanding is that these processes are largely single core dependent (even with multichannel SMB). Therefore, this indicates to me that my CPU is the bottleneck for all of these file writing tests.
Before I drop several hundred dollars on a better CPU, can anyone confirm that it is likely my current I5-8500T CPU that is bottlenecking these processes? I can understand SMB and FUSE overhead might do this, but it seems odd to me that it's apparently bottlenecking the write speed of the NVMe SSDs without these (i.e. getting 1GB/s write with dd command, so no SMB or FUSE overhead).
a few more notes:
-SMB multichannel is enabled
-My 10GbE NIC has RSS support
-am using jumbo frames
-no SMB encryption
-confirmed the SSDs are getting full PCIe x4 bandwidth
-I swapped the two M.2 SSDs in my cache with another brand new M.2 SSD (on its own, so no RAID1). It made no difference.
If anyone can help me confirm my CPU is the bottleneck, that would be greatly appreciated and then I can justify buying an i9-9900K.