15:30:34 does anyone know where I'd look for illumos-specific nfs tuning? 16:27:09 1.) Make sure you have a dedicated log device on your NFS server's ZFS pool. 16:27:33 2.) After that, identify other bottlenecks? 16:28:00 3.) Make sure you ask one of the Big Questions: What problem are you really trying to solve? 16:28:20 NFS is kneecapped by latency, generally speaking. 17:42:12 danmcd: I'm trying to solve the issue that is "my NFS is slow for remote hosts on a VPN, but not the one local one", I don't understand 3, what do you mean? 17:42:59 as for 1), guess who decided to buy one of those fancy power-backed ram disks :) 17:45:26 but, how would I find those other bottlenecks? 17:45:27 check for jumboframes locally and on the VPN. Also, if it's a VPN who fast is the connection? 17:48:14 nomad: should I be using jumboframes? 17:48:51 that's a difficult question thesedays. I was suggesting that if you have them locally but not on the VPN that could be the problem. 17:48:59 however, if you don't have them set anywhere then that isn't it. 17:49:22 still, the more important question is if your VPN can even support the speed you are looking for. 17:49:38 is that any different than the MTU for the VPN? 17:49:42 if it's over the Internet then no amount of tuning will make up for it. 17:50:17 jumboframes is an MTU setting, yes. 17:50:31 but please stop focusing on that if you're not using it locally. It's not going to make a difference. 17:51:19 yeah, it's internet, MTU is 1420 17:59:01 nomad: not focusing on jumboframes, you mean? also it's 1500 for my lan. 17:59:28 the jumboframs isn't the issue. 17:59:37 you still haven't answered the question about the VPN speed. 18:01:35 nomad: that's because I'm trying to find that out atm 18:04:16 VPN introduces latency. Look at the ping times between your two NFS paths. 18:04:43 shell% ping -svn nfs-dest-over-vpn 1024 10 18:04:44 then 18:05:22 shell% ping -svn nfs-dest-for-local-host 1024 10 18:06:16 (I'm assuming your NFS clients are illumos. If they aren't, use `ping -c 10 -s 1024 nfs-dest`. 18:06:18 ) 18:06:30 Latency is what's gonna kill you on NFS. Every... damned... time... 18:11:07 danmcd: sub-1 to ~135 ms. So assuming I still wanted to use nfs, are there still things I can do? 18:11:27 Maybe increase the TCP (you're using TCP right?) buffer sizes higher?!? 18:12:18 You might want to check if you're using the TCP cubic congestion algorithm. I've seen problems with that (we should pull in the latest changes from freebsd there). 18:12:29 That's tunable per-netstack (usually that's synonymous with per-zone). Use ipadm(8) to adjust max_buf, then send_buf and recv_buf. 18:12:31 ipadm show-prop tcp 18:12:48 I assumed latency would make it slower, but I didn't think it would be responsible for basically locking stuff to basically not functional when a larger file is attempted then failing 18:12:55 oooh, I haven't changed anything from Sunreno, and cubic was on my list. Yes @andyf we should accept updates there. 18:13:14 Oh wait... see THIS IS WHY I ASKED WHAT PROBLEM ARE YOU REALLY TRYING TO SOLVE? 18:13:31 yeah I'm using tcp too, but what's that about cubic congestion? 18:13:40 "larger file is attempted then failing" could be symptomatic of OTHER things as well. 18:13:47 dancmd: I said I didn't get what you meant lol 18:14:05 as a general rule, routed NFS is not going to give you the best results. The more hops the worse results. If you really need to push the packets to a remote location then you aren't going to see the same speed/throughput as local. 18:14:22 Simple smoke test: Can you scp or curl a large file from $NFS_SERVER to $VPN_NFS_CLIENT ? 18:14:34 yeah, all the time 18:14:47 Okay. So it does fall back to NFS-specific, and yeah, nomad is right. 18:15:53 I'd still verify your MTU discovery is correct, though if you can scp large files then that's *probably* not the problem. 18:16:13 check the MTU between all involved network devices, just to be sure. 18:16:24 and with that, I'm out. Have fun and good luck. 18:16:31 well, that does bring me to my original hope, which is tuning to the best I can for that latency. 18:16:38 thanks nomad, will do. 18:16:40 For the cubic algorithm, see what you're using in the output of `ipadm show-prop tcp`, and if you're using cubic see if things improve with `sunreno` 18:17:05 I think the omnios default is cubic these days. Not sure about other distributions. 18:17:20 I'm on sunreno 18:17:43 SmartOS is still sunreno; 18:17:59 SunOS vega 5.11 omnios-r151054-f66c95f374 18:18:14 Plus SmartOS native NGZs have whatever they used in the past that persists IIRC. Been a while since I've mucked with something like that. 18:18:20 seems omnios is still sunren 18:18:21 Oh, we may only have thought about changing the default then 18:26:21 so, back to the main NFS question, does anyone know where I'd find resources for NFS tuning? I'd still like to see if it's possible to get better results for high latency. 18:53:52 [illumos-gate] 17784 bhyve umouse_request() makes assumptions it maybe shouldn't -- Dan McDonald 21:44:06 spuos: I think some of the things you can do are related to mount options on the client; e.g., see wsize/rsize in mount_nfs(8). There are options that are less safe, but which may improve performance where the link latency is high, like "nocto". 21:45:29 The client application actually ends up being pretty important for tuning purposes, too. For example, tar(1) is a pretty pathological workload for NFS: serially opening a file, doing some I/O, closing, moving on. Programs with multiple threads, where many I/Os are issued in parallel, are likely to do better, just for regular bandwidth/delay reasons. 21:46:02 It's going to be hard to paper over 150msec of latency in general. It shouldn't be _unreliable_ though, just slow. 21:46:16 (assuming there isn't a huge amount of packet loss as well, etc) 21:48:07 ancient memories of AFS over real distances and normal connections 21:48:18 it's going to work, but who knows when