FreeNAS 8.0 with ZFS RAID-Z - Single or Dual Core ?

Status
Not open for further replies.

Lucas Rey

Contributor
Joined
Jul 25, 2011
Messages
180
Hello guys,
I'm searching a good MiniITX ATOM based MoBo for updating my NAS.

My choices are:
GygaByte GA-D525TUD or GA-D425TUD. The difference between these MoBo is only the core Nr. One core for GA-D425TUD and two cores for GA-D525TUD.

My question is simple, is there any real advantage to using a Dual Core CPU in a FreeNAS 8 build with NFS and Samba as active services and 3 HDD with ZFS RAID-Z?
I don't find any documentation or user experience about that!
 

sjieke

Contributor
Joined
Jun 7, 2011
Messages
125
For Samba it won't make a difference since Samba is single threaded. NFS on the otherhand does make a difference since it is multi-threaded and will use all cores available.
 

survive

Behold the Wumpus
Moderator
Joined
May 28, 2011
Messages
875
Hi Lucas Rey,

Given my choice I would get the dual core chip...it shouldn't cost much more (I would bet less than $10) and shouldn't draw more than a few more watts.

If you are open to other suggestions I would strongly advise you to look at the E-350 AMD boards. Those boards support double the RAM (8GB vs. 4GB) and have PCI-e slots instead of PCI.

I would plan on getting at least 4GB of ram (cheapest 8GB was $45 this week at Newegg) since you are running ZFS.

-Will
 

Lucas Rey

Contributor
Joined
Jul 25, 2011
Messages
180
Thanks both for your feedback.

@sjieke:
I seen you have already the GA-D525TUD, could you please share your experience with the FAN noise? Did you also try to stream FULL HD content via network? (I'll use NFS for that)

@survive:
Thanks also for E-350 AMD boards tips, btw I don't need PCI-e and PCI slot and my plan is install 4 GB on board. I think is enough for FreeNAS and ZFS!
And last but not least, the price is double then Gigabyte MoBo! :rolleyes:
However I'll check the E-350 board specification, just to be sure I don't find any usefull specs... CF card could be an interesting thing! ;)
 

survive

Behold the Wumpus
Moderator
Joined
May 28, 2011
Messages
875
Lucas Rey,

For what it's worth, 6GB is recommended as a minimum for running ZFS and the Atom has a 4GB max on RAM. Max out the board now so you don't wind up with a couple of 2GB dimms later!

I'd still consider getting an E-350 for the PCI-e slots.

-Will
 

Tekkie

Patron
Joined
May 31, 2011
Messages
353
@Lucas

ZFS needs memory and lots of it, I would recommend saving money in the wrong place ;) you may regret it later...
 

ProtoSD

MVP
Joined
Jul 1, 2011
Messages
3,348
Lucas, have you considered the Supermico MBD-X7SPA-H-O Intel Atom D510 1.66Ghz Server Motherboard with 6x SATA ports?

It a mini-itx, and it's what I'm using. It has a lot of nice features, and it's LOW power, with 6 drives under load it uses about 60 watts and it's quiet ;-)
 

Lucas Rey

Contributor
Joined
Jul 25, 2011
Messages
180
@Tekkie:
I think 4GB is enough because I'm assembling a simple NAS for non professional use. My goal is use it @ home as storage for my personal file (using samba) and NFS service to stream movie with DVICO Tvix, that's it.
I have already FreeNAS installed on ATOM D330 (Intel MoBo) and it works fine, but with only 2 SATA ports, that's why I decide to switch to another MoBo with 4 SATA ports.
Actually my only concern is on D525 Power Consumption, compared to D330 is much higher!

@protosd:
Thanks for suggestion, MBD-X7SPA-H-O it's a great MoBo, but it costs about 180€ (I found the Gigabyte MoBo @ 70€). As explained I'll use the NAS @ home, and I don't want spend much money! ;)
 

sjieke

Contributor
Joined
Jun 7, 2011
Messages
125
@lucas
Here are some test results using NFS as protocol.
To test I used a linux client and did: mount -t nfs 10.10.10.101:/mnt/tank/ /mnt/nas/
Then I used dd to get a feel of the performance.
Note that dd isn't a real benchmark.
Code:
 
joachim@Speedy ~ $ ./benchmarks_remote.sh 

Write 1GB file - Run 1
----------------------
500+0 records in
500+0 records out
1048576000 bytes (1.0 GB) copied, 16.7739 s, 62.5 MB/s

Write 2GB file - Run 1
----------------------
1000+0 records in
1000+0 records out
2097152000 bytes (2.1 GB) copied, 38.2944 s, 54.8 MB/s

Write 5GB file - Run 1
----------------------
2500+0 records in
2500+0 records out
5242880000 bytes (5.2 GB) copied, 124.506 s, 42.1 MB/s

Write 10GB file - Run 1
----------------------
5000+0 records in
5000+0 records out
10485760000 bytes (10 GB) copied, 245.937 s, 42.6 MB/s

Write 20GB file - Run 1
----------------------
10000+0 records in
10000+0 records out
20971520000 bytes (21 GB) copied, 510.08 s, 41.1 MB/s

Write 50GB file - Run 1
----------------------
25000+0 records in
25000+0 records out
52428800000 bytes (52 GB) copied, 1321.86 s, 39.7 MB/s

Read 1GB file - Run 1
----------------------
500+0 records in
500+0 records out
1048576000 bytes (1.0 GB) copied, 15.213 s, 68.9 MB/s

Read 2GB file - Run 1
----------------------
1000+0 records in
1000+0 records out
2097152000 bytes (2.1 GB) copied, 27.6098 s, 76.0 MB/s

Read 5GB file - Run 1
----------------------
2500+0 records in
2500+0 records out
5242880000 bytes (5.2 GB) copied, 67.107 s, 78.1 MB/s

Read 10GB file - Run 1
----------------------
5000+0 records in
5000+0 records out
10485760000 bytes (10 GB) copied, 133.893 s, 78.3 MB/s

Read 20GB file - Run 1
----------------------
10000+0 records in
10000+0 records out
20971520000 bytes (21 GB) copied, 269.682 s, 77.8 MB/s

Read 50GB file - Run 1
----------------------
25000+0 records in
25000+0 records out
52428800000 bytes (52 GB) copied, 649.423 s, 80.7 MB/s

Write 50GB file - Run 2
----------------------
25000+0 records in
25000+0 records out
52428800000 bytes (52 GB) copied, 1385.73 s, 37.8 MB/s

Write 20GB file - Run 2
----------------------
10000+0 records in
10000+0 records out
20971520000 bytes (21 GB) copied, 515.644 s, 40.7 MB/s

Write 10GB file - Run 2
----------------------
5000+0 records in
5000+0 records out
10485760000 bytes (10 GB) copied, 224.545 s, 46.7 MB/s

Write 5GB file - Run 2
----------------------
2500+0 records in
2500+0 records out
5242880000 bytes (5.2 GB) copied, 139.95 s, 37.5 MB/s

Write 2GB file - Run 2
----------------------
1000+0 records in
1000+0 records out
2097152000 bytes (2.1 GB) copied, 41.1245 s, 51.0 MB/s

Write 1GB file - Run 2
----------------------
500+0 records in
500+0 records out
1048576000 bytes (1.0 GB) copied, 32.2367 s, 32.5 MB/s

Read 50GB file - Run 2
----------------------
25000+0 records in
25000+0 records out
52428800000 bytes (52 GB) copied, 670.735 s, 78.2 MB/s

Read 20GB file - Run 2
----------------------
10000+0 records in
10000+0 records out
20971520000 bytes (21 GB) copied, 266.281 s, 78.8 MB/s

Read 10GB file - Run 2
----------------------
5000+0 records in
5000+0 records out
10485760000 bytes (10 GB) copied, 132.879 s, 78.9 MB/s

Read 5GB file - Run 2
----------------------
2500+0 records in
2500+0 records out
5242880000 bytes (5.2 GB) copied, 68.4305 s, 76.6 MB/s

Read 2GB file - Run 2
----------------------
1000+0 records in
1000+0 records out
2097152000 bytes (2.1 GB) copied, 28.429 s, 73.8 MB/s

Read 1GB file - Run 2
----------------------
500+0 records in
500+0 records out
1048576000 bytes (1.0 GB) copied, 15.2013 s, 69.0 MB/s

Write 50GB file - Run 3
----------------------
25000+0 records in
25000+0 records out
52428800000 bytes (52 GB) copied, 1229.8 s, 42.6 MB/s

Write 20GB file - Run 3
----------------------
10000+0 records in
10000+0 records out
20971520000 bytes (21 GB) copied, 478.937 s, 43.8 MB/s

Write 10GB file - Run 3
----------------------
5000+0 records in
5000+0 records out
10485760000 bytes (10 GB) copied, 201.405 s, 52.1 MB/s

Write 5GB file - Run 3
----------------------
2500+0 records in
2500+0 records out
5242880000 bytes (5.2 GB) copied, 93.1611 s, 56.3 MB/s

Write 2GB file - Run 3
----------------------
1000+0 records in
1000+0 records out
2097152000 bytes (2.1 GB) copied, 38.0301 s, 55.1 MB/s

Write 1GB file - Run 3
----------------------
500+0 records in
500+0 records out
1048576000 bytes (1.0 GB) copied, 15.154 s, 69.2 MB/s

Read 50GB file - Run 3
----------------------
25000+0 records in
25000+0 records out
52428800000 bytes (52 GB) copied, 675.733 s, 77.6 MB/s

Read 20GB file - Run 3
----------------------
10000+0 records in
10000+0 records out
20971520000 bytes (21 GB) copied, 265.18 s, 79.1 MB/s

Read 10GB file - Run 3
----------------------
5000+0 records in
5000+0 records out
10485760000 bytes (10 GB) copied, 129.745 s, 80.8 MB/s

Read 5GB file - Run 3
----------------------
2500+0 records in
2500+0 records out
5242880000 bytes (5.2 GB) copied, 67.0144 s, 78.2 MB/s

Read 2GB file - Run 3
----------------------
1000+0 records in
1000+0 records out
2097152000 bytes (2.1 GB) copied, 27.1665 s, 77.2 MB/s

Read 1GB file - Run 3
----------------------
500+0 records in
500+0 records out
1048576000 bytes (1.0 GB) copied, 13.0805 s, 80.2 MB/s

Write 1GB file - Run 4
----------------------
500+0 records in
500+0 records out
1048576000 bytes (1.0 GB) copied, 27.4708 s, 38.2 MB/s

Write 2GB file - Run 4
----------------------
1000+0 records in
1000+0 records out
2097152000 bytes (2.1 GB) copied, 44.5931 s, 47.0 MB/s

Write 5GB file - Run 4
----------------------
2500+0 records in
2500+0 records out
5242880000 bytes (5.2 GB) copied, 91.3532 s, 57.4 MB/s

Write 10GB file - Run 4
----------------------
5000+0 records in
5000+0 records out
10485760000 bytes (10 GB) copied, 205.469 s, 51.0 MB/s

Write 20GB file - Run 4
----------------------
10000+0 records in
10000+0 records out
20971520000 bytes (21 GB) copied, 448.668 s, 46.7 MB/s

Write 50GB file - Run 4
----------------------
25000+0 records in
25000+0 records out
52428800000 bytes (52 GB) copied, 948.794 s, 55.3 MB/s

Read 1GB file - Run 4
----------------------
500+0 records in
500+0 records out
1048576000 bytes (1.0 GB) copied, 13.1894 s, 79.5 MB/s

Read 2GB file - Run 4
----------------------
1000+0 records in
1000+0 records out
2097152000 bytes (2.1 GB) copied, 27.8419 s, 75.3 MB/s

Read 5GB file - Run 4
----------------------
2500+0 records in
2500+0 records out
5242880000 bytes (5.2 GB) copied, 66.9731 s, 78.3 MB/s

Read 10GB file - Run 4
----------------------
5000+0 records in
5000+0 records out
10485760000 bytes (10 GB) copied, 151.254 s, 69.3 MB/s

Read 20GB file - Run 4
----------------------
10000+0 records in
10000+0 records out
20971520000 bytes (21 GB) copied, 264.69 s, 79.2 MB/s

Read 50GB file - Run 4
----------------------
25000+0 records in
25000+0 records out
52428800000 bytes (52 GB) copied, 656.465 s, 79.9 MB/s

Write 50GB file - Run 5
----------------------
25000+0 records in
25000+0 records out
52428800000 bytes (52 GB) copied, 1098.54 s, 47.7 MB/s

Write 20GB file - Run 5
----------------------
10000+0 records in
10000+0 records out
20971520000 bytes (21 GB) copied, 440.265 s, 47.6 MB/s

Write 10GB file - Run 5
----------------------
5000+0 records in
5000+0 records out
10485760000 bytes (10 GB) copied, 200.005 s, 52.4 MB/s

Write 5GB file - Run 5
----------------------
2500+0 records in
2500+0 records out
5242880000 bytes (5.2 GB) copied, 101.689 s, 51.6 MB/s

Write 2GB file - Run 5
----------------------
1000+0 records in
1000+0 records out
2097152000 bytes (2.1 GB) copied, 30.1989 s, 69.4 MB/s

Write 1GB file - Run 5
----------------------
500+0 records in
500+0 records out
1048576000 bytes (1.0 GB) copied, 22.913 s, 45.8 MB/s

Read 50GB file - Run 5
----------------------
25000+0 records in
25000+0 records out
52428800000 bytes (52 GB) copied, 670.111 s, 78.2 MB/s

Read 20GB file - Run 5
----------------------
10000+0 records in
10000+0 records out
20971520000 bytes (21 GB) copied, 263.874 s, 79.5 MB/s

Read 10GB file - Run 5
----------------------
5000+0 records in
5000+0 records out
10485760000 bytes (10 GB) copied, 130.623 s, 80.3 MB/s

Read 5GB file - Run 5
----------------------
2500+0 records in
2500+0 records out
5242880000 bytes (5.2 GB) copied, 67.7657 s, 77.4 MB/s

Read 2GB file - Run 5
----------------------
1000+0 records in
1000+0 records out
2097152000 bytes (2.1 GB) copied, 26.53 s, 79.0 MB/s

Read 1GB file - Run 5
----------------------
500+0 records in
500+0 records out
1048576000 bytes (1.0 GB) copied, 13.2609 s, 79.1 MB/s
joachim@Speedy ~ $ 

This is without any tuning (except enabling prefetch).
I must also mention that the network traffic for writes was very bumpy. Going up to 80MB/s and dropping to 0
 

Lucas Rey

Contributor
Joined
Jul 25, 2011
Messages
180
sjieke, interesting test... Could you please share the benchmarks_remote.sh script?
 

sjieke

Contributor
Joined
Jun 7, 2011
Messages
125
Here's the script, the shared directory on my nas (/mnt/tank) is mounted on my client as /mnt/nas using the command:
mount -t nfs 10.10.10.101:/mnt/tank/ /mnt/nas/

Code:
#!/bin/sh
echo ""
echo "Write 1GB file - Run 1"
echo "----------------------"
dd if=/dev/zero of=/mnt/nas/testfile_1G.001 bs=2M count=500

sleep 30

echo ""
echo "Write 2GB file - Run 1"
echo "----------------------"
dd if=/dev/zero of=/mnt/nas/testfile_2G.001 bs=2M count=1000

sleep 30

echo ""
echo "Write 5GB file - Run 1"
echo "----------------------"
dd if=/dev/zero of=/mnt/nas/testfile_5G.001 bs=2M count=2500

sleep 30

echo ""
echo "Write 10GB file - Run 1"
echo "----------------------"
dd if=/dev/zero of=/mnt/nas/testfile_10G.001 bs=2M count=5000

sleep 30

echo ""
echo "Write 20GB file - Run 1"
echo "----------------------"
dd if=/dev/zero of=/mnt/nas/testfile_20G.001 bs=2M count=10000

sleep 30

echo ""
echo "Write 50GB file - Run 1"
echo "----------------------"
dd if=/dev/zero of=/mnt/nas/testfile_50G.001 bs=2M count=25000

sleep 30

echo ""
echo "Read 1GB file - Run 1"
echo "----------------------"
dd of=/dev/null if=/mnt/nas/testfile_1G.001 bs=2M

sleep 30

echo ""
echo "Read 2GB file - Run 1"
echo "----------------------"
dd of=/dev/null if=/mnt/nas/testfile_2G.001 bs=2M

sleep 30

echo ""
echo "Read 5GB file - Run 1"
echo "----------------------"
dd of=/dev/null if=/mnt/nas/testfile_5G.001 bs=2M

sleep 30

echo ""
echo "Read 10GB file - Run 1"
echo "----------------------"
dd of=/dev/null if=/mnt/nas/testfile_10G.001 bs=2M

sleep 30

echo ""
echo "Read 20GB file - Run 1"
echo "----------------------"
dd of=/dev/null if=/mnt/nas/testfile_20G.001 bs=2M

sleep 30

echo ""
echo "Read 50GB file - Run 1"
echo "----------------------"
dd of=/dev/null if=/mnt/nas/testfile_50G.001 bs=2M

sleep 30

echo ""
echo "Write 50GB file - Run 2"
echo "----------------------"
dd if=/dev/zero of=/mnt/nas/testfile_50G.002 bs=2M count=25000

sleep 30

echo ""
echo "Write 20GB file - Run 2"
echo "----------------------"
dd if=/dev/zero of=/mnt/nas/testfile_20G.002 bs=2M count=10000

sleep 30

echo ""
echo "Write 10GB file - Run 2"
echo "----------------------"
dd if=/dev/zero of=/mnt/nas/testfile_10G.002 bs=2M count=5000

sleep 30

echo ""
echo "Write 5GB file - Run 2"
echo "----------------------"
dd if=/dev/zero of=/mnt/nas/testfile_5G.002 bs=2M count=2500

sleep 30

echo ""
echo "Write 2GB file - Run 2"
echo "----------------------"
dd if=/dev/zero of=/mnt/nas/testfile_2G.002 bs=2M count=1000

sleep 30

echo ""
echo "Write 1GB file - Run 2"
echo "----------------------"
dd if=/dev/zero of=/mnt/nas/testfile_1G.002 bs=2M count=500

sleep 30

echo ""
echo "Read 50GB file - Run 2"
echo "----------------------"
dd of=/dev/null if=/mnt/nas/testfile_50G.002 bs=2M

sleep 30

echo ""
echo "Read 20GB file - Run 2"
echo "----------------------"
dd of=/dev/null if=/mnt/nas/testfile_20G.002 bs=2M

sleep 30

echo ""
echo "Read 10GB file - Run 2"
echo "----------------------"
dd of=/dev/null if=/mnt/nas/testfile_10G.002 bs=2M

sleep 30

echo ""
echo "Read 5GB file - Run 2"
echo "----------------------"
dd of=/dev/null if=/mnt/nas/testfile_5G.002 bs=2M

sleep 30

echo ""
echo "Read 2GB file - Run 2"
echo "----------------------"
dd of=/dev/null if=/mnt/nas/testfile_2G.002 bs=2M

sleep 30

echo ""
echo "Read 1GB file - Run 2"
echo "----------------------"
dd of=/dev/null if=/mnt/nas/testfile_1G.002 bs=2M

sleep 30

echo ""
echo "Write 50GB file - Run 3"
echo "----------------------"
dd if=/dev/zero of=/mnt/nas/testfile_50G.003 bs=2M count=25000

sleep 30

echo ""
echo "Write 20GB file - Run 3"
echo "----------------------"
dd if=/dev/zero of=/mnt/nas/testfile_20G.003 bs=2M count=10000

sleep 30

echo ""
echo "Write 10GB file - Run 3"
echo "----------------------"
dd if=/dev/zero of=/mnt/nas/testfile_10G.003 bs=2M count=5000

sleep 30

echo ""
echo "Write 5GB file - Run 3"
echo "----------------------"
dd if=/dev/zero of=/mnt/nas/testfile_5G.003 bs=2M count=2500

sleep 30

echo ""
echo "Write 2GB file - Run 3"
echo "----------------------"
dd if=/dev/zero of=/mnt/nas/testfile_2G.003 bs=2M count=1000

sleep 30

echo ""
echo "Write 1GB file - Run 3"
echo "----------------------"
dd if=/dev/zero of=/mnt/nas/testfile_1G.003 bs=2M count=500

sleep 30

echo ""
echo "Read 50GB file - Run 3"
echo "----------------------"
dd of=/dev/null if=/mnt/nas/testfile_50G.003 bs=2M

sleep 30

echo ""
echo "Read 20GB file - Run 3"
echo "----------------------"
dd of=/dev/null if=/mnt/nas/testfile_20G.003 bs=2M

sleep 30

echo ""
echo "Read 10GB file - Run 3"
echo "----------------------"
dd of=/dev/null if=/mnt/nas/testfile_10G.003 bs=2M

sleep 30

echo ""
echo "Read 5GB file - Run 3"
echo "----------------------"
dd of=/dev/null if=/mnt/nas/testfile_5G.003 bs=2M

sleep 30

echo ""
echo "Read 2GB file - Run 3"
echo "----------------------"
dd of=/dev/null if=/mnt/nas/testfile_2G.003 bs=2M

sleep 30

echo ""
echo "Read 1GB file - Run 3"
echo "----------------------"
dd of=/dev/null if=/mnt/nas/testfile_1G.003 bs=2M

sleep 30

echo ""
echo "Write 1GB file - Run 4"
echo "----------------------"
dd if=/dev/zero of=/mnt/nas/testfile_1G.004 bs=2M count=500

sleep 30

echo ""
echo "Write 2GB file - Run 4"
echo "----------------------"
dd if=/dev/zero of=/mnt/nas/testfile_2G.004 bs=2M count=1000

sleep 30

echo ""
echo "Write 5GB file - Run 4"
echo "----------------------"
dd if=/dev/zero of=/mnt/nas/testfile_5G.004 bs=2M count=2500

sleep 30

echo ""
echo "Write 10GB file - Run 4"
echo "----------------------"
dd if=/dev/zero of=/mnt/nas/testfile_10G.004 bs=2M count=5000

sleep 30

echo ""
echo "Write 20GB file - Run 4"
echo "----------------------"
dd if=/dev/zero of=/mnt/nas/testfile_20G.004 bs=2M count=10000

sleep 30

echo ""
echo "Write 50GB file - Run 4"
echo "----------------------"
dd if=/dev/zero of=/mnt/nas/testfile_50G.004 bs=2M count=25000

sleep 30

echo ""
echo "Read 1GB file - Run 4"
echo "----------------------"
dd of=/dev/null if=/mnt/nas/testfile_1G.004 bs=2M

sleep 30

echo ""
echo "Read 2GB file - Run 4"
echo "----------------------"
dd of=/dev/null if=/mnt/nas/testfile_2G.004 bs=2M

sleep 30

echo ""
echo "Read 5GB file - Run 4"
echo "----------------------"
dd of=/dev/null if=/mnt/nas/testfile_5G.004 bs=2M

sleep 30

echo ""
echo "Read 10GB file - Run 4"
echo "----------------------"
dd of=/dev/null if=/mnt/nas/testfile_10G.004 bs=2M

sleep 30

echo ""
echo "Read 20GB file - Run 4"
echo "----------------------"
dd of=/dev/null if=/mnt/nas/testfile_20G.004 bs=2M

sleep 30

echo ""
echo "Read 50GB file - Run 4"
echo "----------------------"
dd of=/dev/null if=/mnt/nas/testfile_50G.004 bs=2M

sleep 30

echo ""
echo "Write 50GB file - Run 5"
echo "----------------------"
dd if=/dev/zero of=/mnt/nas/testfile_50G.005 bs=2M count=25000

sleep 30

echo ""
echo "Write 20GB file - Run 5"
echo "----------------------"
dd if=/dev/zero of=/mnt/nas/testfile_20G.005 bs=2M count=10000

sleep 30

echo ""
echo "Write 10GB file - Run 5"
echo "----------------------"
dd if=/dev/zero of=/mnt/nas/testfile_10G.005 bs=2M count=5000

sleep 30

echo ""
echo "Write 5GB file - Run 5"
echo "----------------------"
dd if=/dev/zero of=/mnt/nas/testfile_5G.005 bs=2M count=2500

sleep 30

echo ""
echo "Write 2GB file - Run 5"
echo "----------------------"
dd if=/dev/zero of=/mnt/nas/testfile_2G.005 bs=2M count=1000

sleep 30

echo ""
echo "Write 1GB file - Run 5"
echo "----------------------"
dd if=/dev/zero of=/mnt/nas/testfile_1G.005 bs=2M count=500

sleep 30

echo ""
echo "Read 50GB file - Run 5"
echo "----------------------"
dd of=/dev/null if=/mnt/nas/testfile_50G.005 bs=2M

sleep 30

echo ""
echo "Read 20GB file - Run 5"
echo "----------------------"
dd of=/dev/null if=/mnt/nas/testfile_20G.005 bs=2M

sleep 30

echo ""
echo "Read 10GB file - Run 5"
echo "----------------------"
dd of=/dev/null if=/mnt/nas/testfile_10G.005 bs=2M

sleep 30

echo ""
echo "Read 5GB file - Run 5"
echo "----------------------"
dd of=/dev/null if=/mnt/nas/testfile_5G.005 bs=2M

sleep 30

echo ""
echo "Read 2GB file - Run 5"
echo "----------------------"
dd of=/dev/null if=/mnt/nas/testfile_2G.005 bs=2M

sleep 30

echo ""
echo "Read 1GB file - Run 5"
echo "----------------------"
dd of=/dev/null if=/mnt/nas/testfile_1G.005 bs=2M


If you have any tuning tips to get less bumpy writes, I'm interested in trying them :)
 

ProtoSD

MVP
Joined
Jul 1, 2011
Messages
3,348
Change your vfs.zfs.prefetch_disable="0" to

vfs.zfs.prefetch_disable="0"

Not sure if that will help your writes, but it should help your reads since you have 4GB of RAM....


UPDATE: I got caught by the double negative prefetch mind-trick.... should have said ZERO
No change was needed @sjieke was correct.
 

sjieke

Contributor
Joined
Jun 7, 2011
Messages
125
@protosd
Thanks for your suggestion, but disabling prefetch (vfs.zfs.prefetch_disable="1") made my read throughput go down by about 20MB/s, so enabling it (vfs.zfs.prefetch_disable="0") is the prefered setting (for me at least).

I tried setting vfs.zfs.txg.timeout=5 and vfs.zfs.txg.synctime=2 to get less bursty writes. It improves, but is still a bit bursty. The overall write throughput isn't affected much.
 

ProtoSD

MVP
Joined
Jul 1, 2011
Messages
3,348
@sjieke

Hey, I'm really sorry about that! I realized earlier that I had said the wrong thing but couldn't remember where this post was. I'll update my message above to fix that so it says ZERO.

Thanks for pointing that out.
 

sjieke

Contributor
Joined
Jun 7, 2011
Messages
125
No problem.

It is indeed very confusing. To enable prefetching you need to disable the disabling of prefetch :) :confused:
 
Status
Not open for further replies.
Top