Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17


FreeNAS / NFS / VMWare tuning help

Posted on 2013-05-11
Medium Priority
Last Modified: 2013-05-18
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?
Question by:Frosty555
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
LVL 28

Accepted Solution

asavener earned 2000 total points
ID: 39159003
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.
LVL 28

Expert Comment

ID: 39159007
If your network is not saturated, then your performance is probably limited by the underlying hardware of your FreeNAS system.
LVL 28

Assisted Solution

asavener earned 2000 total points
ID: 39159008
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.
Simple, centralized multimedia control

Watch and learn to see how ATEN provided an easy and effective way for three jointly-owned pubs to control the 60 televisions located across their three venues utilizing the ATEN Control System, Modular Matrix Switch and HDBaseT extenders.

LVL 28

Expert Comment

ID: 39159010
I misread about snapshots; I thought you were talking about VMware snapshots, not filesystem snapshots.
LVL 123
ID: 39159298
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.
LVL 31

Author Closing Comment

ID: 39177525
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.

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

The business world is becoming increasingly integrated with tech. It’s not just for a select few anymore — but what about if you have a small business? It may be easier than you think to integrate technology into your small business, and it’s likely…
Many businesses neglect disaster recovery and treat it as an after-thought. I can tell you first hand that data will be lost, hard drives die, servers will be hacked, and careless (or malicious) employees can ruin your data.
Teach the user how to edit .vmx files to add advanced configuration options Open vSphere Web Client: Edit Settings for a VM: Choose VM Options -> Advanced: Add Configuration Parameters:
Teach the user how to install log collectors and how to configure ESXi 5.5 for remote logging Open console session and mount vCenter Server installer: Install vSphere Core Dump Collector: Install vSphere Syslog Collector: Open vSphere Client: Config…

704 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question