I've spent the last few days troubleshooting a specific performance issue with the CIFS share on my OpenSolaris server (acting as ZFS NAS box). My setup is as follows:
Server - Athalon dual core with 8GB ram running OpenSolaris snv111a 64-bit. Serving ZFS backed CIFS shares for Windows clients. Onboard Realtek 8111B NIC wired to one of the 100Mb/s ports of an ActionTec MI242WR router. Old NAS - Buffalo Linksys also wired directly to a 100Mb/s port on the ActionTec. Desktop - Windows Vista Busines x64 also with onboard Realtek 8111B wired directly to a 100Mb/s port on the ActionTec. Laptop - Windows XP SP3 connects to the ActionTec via 802.11g using the internal Dell 1390 WLAN 1NIC. So the time came when my setup seemed stable enough to start using the OpenSolaris server as my primary working NAS and relegate the Linkstation to backups. Switching over went swimmingly until my wife tried to access our family photos from the laptop; read speed was abyssimal. I had no problems from the Desktop and, interestingly, the laptop had no problems when reading the same files from the Linkstation (Samba share from a Linux of some sort). My first suspect was the CIFS server so I ran configuration sanity checks and found no problems. To put some detail to what worked and what didn't, I ran simple DiskBench tests measuring file read and write speeds from the clients. The average rates from several test runs were as follows (in MB/s): Desktop to Linkstation: 5.10 Read, 5.99 Write Laptop to Linkstation: 2.10 R, 2.15 W Desktop to Server: 10.00 R, 11.21 W Laptop to Server: 0.13 R, 2.87 W While my desktop was now enjoying speeds much closer to the 12.5MB/s theoretical max of fast ethernet and even my wireless laptop got a small boost in write speeds, wireless reading was an order of magnitude slower that it should have been. Obviously CIFS itself wasn't directly responsible as it performed fine over the wire. It also didn't seem to be the laptop's networking as it dealt fine with the Linkstation over virtually the same network path of 802.11g to the exact same ActionTec then cat5 to the NAS. This got me looking at my OpenSolaris networking specifically for timing problems. Scouring these forums and the rest of what I could dredge up on Google came up with two options; 1) fool with Nagel delays 2) replace my rge driver with gani. Using ndd to set the tcp_naglim_def to 1 produced no change in performance. Replacing rge with gani 2.6.4 gave me the following results (again in MB/s): Desktop to Server: 9.10 R, 8.83 W Laptop to Server: 2.02 R, 2.64 W So whatever idiosyncratic timing issue was affecting my rge0 interface is not happening to my gani0. Overall I've given back some of the performance gains for the desktop but the laptop no longer has the painfully slow reads. I may stick with the current setup but I would sure like to know what the issue was using rge. It's especially vexing that CIFS read are not always problematic (work fine wired) nor is wireless access always broken (writes are normal). Are there any existing bugs against rge which could explain this behavior? It could still be something CIFS related which only manifests in the presence of rge. Anyone have any ideas? I don't have a ton of time to try different configurations (I have two preschoolers) but if given specific directions I could try to produce logs or other data that may help someone understand this issue. Thanks, Owen Davies -- This message posted from opensolaris.org _______________________________________________ cifs-discuss mailing list [email protected] http://mail.opensolaris.org/mailman/listinfo/cifs-discuss
