I have the following setup for testing: HP Microserver N36L (Dual-core low-power Athlon64) 8GB ECC RAM 2-port Intel Gigabit NIC 4x3TB WD Green (5400 RPM?) 1 sata disk for OS image (FreeBSD 10.1)
Switch is an HP v1910-24G (Managed L2 switch, 24 gigabit ports)
Client is: Core i5 2400 on DH67BL motherboard 24GB RAM 1 Intel Gigabit (onboard)
The FreeBSD machine exposes its zvols over iSCSI and the initiator is Windows. On Windows, the iSCSI volumes are formatted to NTFS, and VMWare Workstation uses it as disk for other VMs (in this case, a Windows 7 VM too).
I've tried several configurations for zvols, mainly volblocksizes of varying values, from 4k to 64k, and NTFS cluster sizes of 4 to 64k as well. I've tried combinations of blocksize=cluster size, and block size > cluster size.
In all cases I get basically the same:
Sequential reads are at 110-120MB/s (Gigabit Ethernet limit). Random reads are <5MB/s
Copying large files outside or inside the VMs is acceptable. Booting windows is painfully slow (>3 minutes on a fresh install to login screen. 1 minute more to desktop)
Is this expected behavior?