FreeNAS / NFS / VMWare tuning help

Hi guys,

In a previous question I was asking for assistance in building a storage server for my VMWare ESXi host. Here's the end result:

FreeNAS Server:
      - AMD FX6400 CPU / 16GB DDR3 RAM / FreeNAS 8.3.1 running off a USB stick
      - 3x WD Red 2TB disks, running in a RAID1 mirror
      - 2x ADATA 64GB SSDs, in a mirror, assigned as the ZFS log disks
      - Intel 1000/GT gigabit network card, connected directly to ESXi host via crossover cable
      - Onboard Realtek gigabit network port, connected to my switch and the rest of the network

VMWare ESXi Host:
      - Supermicro 1U server / 2x Intel Xeon L5420 / 24GB DDR2 FB-DIMM / ESXi 5.1
      - 1x 160GB hard drive for VMWare installation
      - 2x onboard giganit network ports. 1x connected to the switch and the rest of the network. The other is connected directly to the Storage server via crossover cable.

Notes on the tuning / setup:

    - The storage server has a couple ZFS datasets - one is for the VMs, the other two are used by the rest of the Windows network as a general fileserver
    - All datasets are using LZJB compression, deduplication is turned off.
    - VMWare connects to the Storage Server via NFS
    - NFS Asynchronous mode is enabled
    - The 3x datasets have a periodic snapshot running once every 6 hours which lasts 2 weeks. There are currently 64 snapshots total, it will rise up to 168 snapshots eventually.

I'm getting some reasonable performance:

    - 65-70 MB/s read speeds according to HDTune installed on a Windows 7 VM
    - 100-130 IOPS according to HDTune installed on a Windows 7 VM

When I SSH directly into the FreeNAS server and use DD to do some tests I get what IMHO are really excellent speeds, probably inflated due to the compression, RAM and SSDs:

// Writing a 20GB file of all zeros
   dd if=/dev/zero of=test bs=2M count=10000
RESULT:     1434 MB/sec
   
// Reading a pre-created random file that is 8GB in size
   dd if=/dev/random of=test bs=2M count=4000
   dd if=test of=/dev/null bs=2M
RESULT:    524 MB/sec

// Making a copy of the pre-created random file
   dd if=test of=test2 bs=2M
RESULT:    62 MB/sec   <-- hmmmmm.....


I think the IOPS from VMWare is kind-of low but not I'm sure why. Also I think the throughput is decent, 65-70MB/s, but not fully saturating my gigabit network link, I'd expect closer to 90-100MB/s.

Does anyone have any suggestions for optimizing the equipment I've got and making the most out of it? Or, does anyone have any comments regarding the performance I'm getting - is it good? bad? great?
LVL 31
Frosty555Asked:
Who is Participating?
 
asavenerConnect With a Mentor Commented:
You might gain a little performance by enabling jumbo frames.

Also, VMware's recommendation is that snapshots not be kept for longer than 72 hours.  You can run into some serious performance problems (and increased disk usage) if you keep snapshots.
0
 
asavenerCommented:
If your network is not saturated, then your performance is probably limited by the underlying hardware of your FreeNAS system.
0
 
asavenerConnect With a Mentor Commented:
VMWare ESXi Host:
      - Supermicro 1U server / 2x Intel Xeon L5420 / 24GB DDR2 FB-DIMM / ESXi 5.1
      - 1x 160GB hard drive for VMWare installation
      - 2x onboard giganit network ports. 1x connected to the switch and the rest of the network. The other is connected directly to the Storage server via crossover cable.
You have a serious lack of redundancy for a production environment.  Especially running ESXi off of a single disk.
0
Cloud Class® Course: Amazon Web Services - Basic

Are you thinking about creating an Amazon Web Services account for your business? Not sure where to start? In this course you’ll get an overview of the history of AWS and take a tour of their user interface.

 
asavenerCommented:
I misread about snapshots; I thought you were talking about VMware snapshots, not filesystem snapshots.
0
 
Andrew Hancock (VMware vExpert / EE MVE^2)VMware and Virtualization ConsultantCommented:
More disks in the ZFS pool, SSD for ZIL and ARC caches, try iSCSI it might be faster!

Oracle would have been a better solution! ZFS performs better and has more features.
0
 
Frosty555Author Commented:
The problem was ZFS snapshots (note: NOT VMWare snapshots, I didn't have any of those, but I had a periodic snapshot task running for ZFS) - I had over 60 of them and after I deleted them, my IOPS jumped up to 4000 and I was getting 100MB/s read speeds.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.