Latest interface: 0.3.1
Latest system: 010
throbby
User

58 posts

Posted on 19 May 2012 @ 03:18
Hey all,
First off thanks for any help on this topic.
I have a NAS I built and it has 16 2tb drives with 2 supermicro AOC-SAT2-MV8 controllers on it. I get pretty darn good performance locally:
ZFSguru 0.2.0-beta5 pool benchmark
Pool : storage (29T, 12% full)
Test size : 4 GiB
Data source : /dev/zero
Read throughput : 2.6 GB/s = 2.4 GiB/s
Write throughput: 284.3 MB/s = 271.1 MiB/s

However, using my Win7x64 workstation I get a terrible 12MB/sec.
I have another NAS here which using the same workstation I get 100-115MB/sec.

Does anyone have any help for a freebsd n00b but ZFSGuru lover? I am building another NAS for the office and having these kinds of speeds is not going to be awesome so anything I learn here will be applicable.

thanks again for any help!
Rob
throbby
User

58 posts

Posted on 21 May 2012 @ 10:50
Ok, so after loads of poking around...

It turns out that SMB wants asynchronous io to be enabled in order to be fast :

cd /usr/ports/net/samba36
make config
# Turn on AIO_SUPPORT
make install clean

This gives me read speeds of 115-122mb/sec which is maxing out my gige connection. Wow. What a huge difference. If Jason/Cipher make it back to this project it would be great to have this turned on in a future build so that hunting and pecking for it is not needed.

rob
The_Dave
User

221 posts

Posted on 21 May 2012 @ 10:51
I will have to try this out later to see if there is any speed difference...thanks.
DVD_Chef
User

120 posts

Posted on 20 June 2012 @ 14:10edited 14:12 20s
Has anyone else been able to test this, and have any problems arisen after making this change?
Did it increase the write speed any?

Thanks
m4xi_bt
User

6 posts

Posted on 11 September 2012 @ 13:49
Don't know if this fits here, but I'm having a similar problem with my Virtualbox installation. The Webinterface tells me the correct benchmark speeds of my drive (WD 3TB) but the speed in the network/samba shares would never get reach 20MB/s or higher. The installation runs on Windows on which I can transfer files with 90MB/s to another computer. The target hdd is the bottleneck here, but whats it all about in the VBox installation?
I've tried setting asynchronous buffer (doesn't even work like said above), switching VBox adapters, messing around with the tuning settings. Nothing seems to work, I would appreciate any help.

Thanks in advance,

M4Xi
CiPHER
Developer

1199 posts

Posted on 11 September 2012 @ 15:06
If you install the vm-virtio-drivers service, you can use the 'Paravirtualized adapter' in Virtualbox. This should give you better speeds than the full hardware virtualized network adapters, which emulate real hardware.

Good luck :)
m4xi_bt
User

6 posts

Posted on 12 September 2012 @ 12:18
Unfortunatly it didn't work either.
I first installed the virtio drivers on the machine, then switched to virtio in the VBox settings, it got the dhcp ip, but I'll transferring files with not more than 20MB per second.
But thanks for the suggestion.

M4Xi
CiPHER
Developer

1199 posts

Posted on 12 September 2012 @ 12:35
If you transfer data FROM your HDD and TO the same HDD, you will get much lower speeds than transferring data from network to your HDD. In the last case, your harddrive needs to process only reads OR writes. In the first case it has to do both reads AND writing.

Can you check your HDD light blinking on the host? If it blinks alot, you are capped by I/O performance. You transfer data from one harddrive, and presumably write it back to the same harddrive in a virtualbox container. If that is correct, your 20MB/s could be what your harddrive is capable of processing two I/O streams.

Can you test copying data to memory filesystem for example?

mount -t tmpfs tmpfs /tmpfs

then transfer data to the 'tmpfs' Samba share is it exists.
m4xi_bt
User

6 posts

Posted on 12 September 2012 @ 17:05
I'm actually using three hard drives in this computer. One SSD as a bootdrive for windows, one laptop drive that spins all the time and one big 3,5" drive that shuts down if its not used (and there are more to come). The VBox disk image is a single file on the root dir. I was already making sure I don't copy files from the same source (around 40MB/s) so I always copied them from one to another. In windows, this gets me up to 80MB/s (notebook drive is the limit).

I changed the tmpfs share to "writeable" and tried to send a 200MB file, but it always starts off with 14MB/s as if I'm using a 100MBit connection...like before. Can there even be network interaction if the target machine is using the same network adapter?

One thing that surprises me is if the 3,5" disk was shut down and I'm transferring data to the smb share, it won't spin up as if I'm transferring right into the ram of the virtual machine. It's not the cache of the hdd for sure.
CiPHER
Developer

1199 posts

Posted on 13 September 2012 @ 05:58
tmpfs share is not mounted by default; only on the LiveCD it is. So you need to mount it manually; it you don't the tmpfs share means you write to your system filesystem (where you installed ZFSguru to).

Also, can you try 'iperf' testing network bandwidth? Iperf is installed on ZFSguru, you only need an iPerf client like the 'jperf' frontend.
m4xi_bt
User

6 posts

Posted on 13 September 2012 @ 15:41
So you mean even if it says "Memory Filesystem share" its redirecting to the root FS? I made a RAM disk myself anyways, made a pool, shared it and the results are the same, around 13MB/s.

I need a little explanation with the benchmarking part. The client says: "Connection refused" using the preset values (except for the ip). I guess I have to start the server on ZFSGuru with some command. I'm running beta7.

Another thing I should propably try is reinstalling the whole Host OS and virtualbox/ZFSGuru since I once had the problem with the 20MB/s limit using Windows shares as well until it magically disappeared and only kept happening with the guest OS on my server...
CiPHER
Developer

1199 posts

Posted on 13 September 2012 @ 16:50
iperf -s

And just a guess: do you have a firewall on the host machine? Or 'security' product? If so, this can degrade your performance potentially. Try shutting it down.
m4xi_bt
User

6 posts

Posted on 14 September 2012 @ 10:27
The ZFSGuru command line says: "bash: iperf: Command not found". Should I activate some kind of service first? I have to admit I'm not the linux expert here.

I got the generic Windows Firewall and MS Security Essentials. Deactivating both had no effect on uploading files into one of the shares I created.
CiPHER
Developer

1199 posts

Posted on 14 November 2012 @ 16:11edited 16:11 26s
Sorry, i think iperf was not installed after all.

You can install it 'quick and dirty' using: pkg_add -r iperf

The 'clean and proper' way to it is:

1. Install service FreeBSD Portstree under Services->Install->ZFSguru
2. login via SSH (see Services->Internal->OpenSSH)
3. become root with 'su'
4. install the port:

cd /usr/ports/benchmarks/iperf
make install clean
Last Page

Valid XHTML 1.1