Performance issues with 4x 4k drives RaidZ and 8.0.1 Beta 4

Status
Not open for further replies.

niclas197

Dabbler
Joined
Jul 29, 2011
Messages
24
Hey,
I'm having issues with poor performance on my raidZ with 4k drives.

my specs are:
Code:
Hostname:	freenas.localdomain
OS Version:	FreeBSD 8.2-RELEASE-p2
Platform:	AMD Athlon(tm) II Neo N36L Dual-Core Processor
Memory:	2928MB
System Time:	Fri Jul 29 10:39:30 CEST 2011
Uptime:	10:39AM up 36 mins, 1 user
Load Average:	0.02, 0.08, 0.12
FreeNAS Build:	FreeNAS-8.0.1-BETA4-amd64


I only get around 30 Megabyte/s on the RaidZ

Code:
freenas# dd if=/dev/zero of=ddtest bs=1024k count=2000
2000+0 records in
2000+0 records out
2097152000 bytes transferred in 70.356555 secs (29807486 bytes/sec)


I created a new pool using the WebGUI and I've checked the 4k Box.

I use this harddisks:

Code:
ada0: <WDC WD20EARS-00MVWB0 51.0AB51> ATA-8 SATA 2.x device
ada0: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 8192bytes)
ada0: Command Queueing enabled
ada0: 1907729MB (3907029168 512 byte sectors: 16H 63S/T 16383C)
ada1: <WDC WD20EARS-22MVWB0 51.0AB51> ATA-8 SATA 2.x device
ada1: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 8192bytes)
ada1: Command Queueing enabled
ada1: 1907729MB (3907029168 512 byte sectors: 16H 63S/T 16383C)
ada2: <ST2000DL003-9VT166 CC32> ATA-8 SATA 3.x device
ada2: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 8192bytes)
ada2: Command Queueing enabled
ada2: 1907729MB (3907029168 512 byte sectors: 16H 63S/T 16383C)
ada3: <ST2000DL003-9VT166 CC32> ATA-8 SATA 3.x device
ada3: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 8192bytes)
ada3: Command Queueing enabled
ada3: 1907729MB (3907029168 512 byte sectors: 16H 63S/T 16383C)
ada0: <WDC WD20EARS-00MVWB0 51.0AB51> ATA-8 SATA 2.x device
ada0: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 8192bytes)
ada0: Command Queueing enabled
ada0: 1907729MB (3907029168 512 byte sectors: 16H 63S/T 16383C)
ada1: <WDC WD20EARS-22MVWB0 51.0AB51> ATA-8 SATA 2.x device
ada1: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 8192bytes)
ada1: Command Queueing enabled
ada1: 1907729MB (3907029168 512 byte sectors: 16H 63S/T 16383C)
ada2: <ST2000DL003-9VT166 CC32> ATA-8 SATA 3.x device
ada2: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 8192bytes)
ada2: Command Queueing enabled
ada2: 1907729MB (3907029168 512 byte sectors: 16H 63S/T 16383C)
ada3: <ST2000DL003-9VT166 CC32> ATA-8 SATA 3.x device
ada3: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 8192bytes)
ada3: Command Queueing enabled
ada3: 1907729MB (3907029168 512 byte sectors: 16H 63S/T 16383C)


Every data transfer (doesn't matter if via CIFS or AFP) looks like this in reporting:
i0To5.png

The transfer rate goes to 40 MB/s (i've double checked in the Mac os X activity monitor) and then falls to a few KB/s for a few seconds and then goes up again.

I don't know if it's my drive setup or something else but it's really annoying since even these "green" drives should get around 80 MB/s local
 

niclas197

Dabbler
Joined
Jul 29, 2011
Messages
24
well it's a HP Microserver. This are the specs copied from HP's site:

Processor:
AMD Athlon™ II NEO N36L
AMD RS785E/SB820M chipset
Memory:
Two (2) DIMM slots
1GB (1x1GB) Standard/8GB Maximum, using PC3-10600E DDR3 Unbuffered (UDIMM) ECC memory, operating at max. 800MHz
Storage Controller:
Embedded AMD SATA controller with RAID 0, 1
Embedded AMD eSATA controller for connecting external storage devices via the eSATA connector in the rear of the server
Storage Drive Support:
4 Internal HDD Support
Maximum internal SATA storage capacity of up to 8.0TB (4 x 2TB 3.5" SATA drives)
Network Controller:
Embedded NC107i PCI Express Gigabit Ethernet Server Adapter
Expansion Slots:
Slot 1: PCI-Express Gen 2 x16 connector with x16 link
Slot 2: PCI-Express Gen 2 x1 connector with x1 Link
Slot 2-2: PCI-Express x4 slot for optional management card
USB 2.0 Ports:
Seven (7) USB 2.0 ports: 4 front , 2 rear, 1 internal (for tape)
Power Supply:
150 Watts Non-Hot Plug, Non Redundant Power Supply
Management:
Optional MicroServer Remote Access Card
Operating System:
Supports Windows and Red Hat Linux
Form Factor:
Ultra Micro tower
 

niclas197

Dabbler
Joined
Jul 29, 2011
Messages
24
I also see that my ram configuration is not optimal (1x 1GB and 1x 2GB) but my hardware dealer "forgot" to send 2 2 GB modules. So I will have 2x 2GB in the near future but I hardly doubt that this is the issue here.
 

niclas197

Dabbler
Joined
Jul 29, 2011
Messages
24
What's also weird is that the AFP varies for different periods of time:
yEfgY.png


I couldn't test CIFS to much since it has quite a few issues with OSX Lion (or the other way around) but in ashort test with a VM it shows the same problem


EDIT: This are my AFP settings for that particular folder:

KphO1.png



Edit2:

Here are some ataidle stats for the hard disks, I've noticed that Write Cache is not activated. Could this have to do with anything?

[root@freenas /mnt/nfs]# ataidle ada0
Model: WDC WD20EARS-00MVWB0
Serial: WD-WMAZA1256664
Firmware Rev: 51.0AB51
ATA revision: ATA-8
LBA 48: yes
Geometry: 16383 cyls, 16 heads, 63 spt
Capacity: 1863GB
SMART Supported: yes
SMART Enabled: yes
Write Cache Supported: yes
Write Cache Enabled: no
APM Supported: no
AAM Supported: yes
AAM Enabled: no
Vendor Recommended AAM: 1
[root@freenas /mnt/nfs]# ataidle ada3
Model: ST2000DL003-9VT166
Serial: 5YD326AE
Firmware Rev: CC32
ATA revision: ATA-8
LBA 48: yes
Geometry: 16383 cyls, 16 heads, 63 spt
Capacity: 1863GB
SMART Supported: yes
SMART Enabled: yes
Write Cache Supported: yes
Write Cache Enabled: no
APM Supported: no
AAM Supported: yes
AAM Enabled: yes
AAM Value: -127
Vendor Recommended AAM: 127
 

niclas197

Dabbler
Joined
Jul 29, 2011
Messages
24
Little update:

I have enabled write cache in the bios which was for some reason disabled and added

vfs.zfs.txg.timeout="5"
vfs.zfs.zio.use_uma="0"

to my boot/loader.conf.

After this I can get up to 87 MB/s Peaks via AFP which is good but I still have thos "holes" where there are only a few KB/s.

[root@freenas /mnt/tank]# dd if=/dev/zero of=ddtest bs=1024k count=2000
2000+0 records in
2000+0 records out
2097152000 bytes transferred in 31.782464 secs (65984563 bytes/sec)
[root@freenas /mnt/tank]# dd if=/dev/zero of=ddtest bs=10240k count=2000
2000+0 records in
2000+0 records out
20971520000 bytes transferred in 399.825297 secs (52451709 bytes/sec)

Also looks better but still not what I expect.
 

sjieke

Contributor
Joined
Jun 7, 2011
Messages
125
I have a similar setup, an Intel Atom 1,8 GHz (D525), 4GB RAM and 4 WD20EARS in RaidZ.
I'm currently in the process of doing some tests to determine the best settings. De results aren't formatted yet, but the first test is finished. The only tuning I did was to enable prefetching. Here are the results.

Code:
[joachim@crashbox ~]$ /mnt/tank/benchmarks.sh 

Write 1GB file - Run 1
----------------------
500+0 records in
500+0 records out
1048576000 bytes transferred in 3.319208 secs (315911515 bytes/sec)

Write 2GB file - Run 1
----------------------
1000+0 records in
1000+0 records out
2097152000 bytes transferred in 14.233319 secs (147341038 bytes/sec)

Write 5GB file - Run 1
----------------------
2500+0 records in
2500+0 records out
5242880000 bytes transferred in 37.313184 secs (140510121 bytes/sec)

Write 10GB file - Run 1
----------------------
5000+0 records in
5000+0 records out
10485760000 bytes transferred in 96.137356 secs (109070609 bytes/sec)

Write 20GB file - Run 1
----------------------
10000+0 records in
10000+0 records out
20971520000 bytes transferred in 178.184956 secs (117695233 bytes/sec)

Write 50GB file - Run 1
----------------------
25000+0 records in
25000+0 records out
52428800000 bytes transferred in 517.041433 secs (101401545 bytes/sec)

Read 1GB file - Run 1
----------------------
500+0 records in
500+0 records out
1048576000 bytes transferred in 5.975865 secs (175468492 bytes/sec)

Read 2GB file - Run 1
----------------------
1000+0 records in
1000+0 records out
2097152000 bytes transferred in 17.434551 secs (120287124 bytes/sec)

Read 5GB file - Run 1
----------------------
2500+0 records in
2500+0 records out
5242880000 bytes transferred in 25.905532 secs (202384573 bytes/sec)

Read 10GB file - Run 1
----------------------
5000+0 records in
5000+0 records out
10485760000 bytes transferred in 62.451390 secs (167902748 bytes/sec)

Read 20GB file - Run 1
----------------------
10000+0 records in
10000+0 records out
20971520000 bytes transferred in 166.740960 secs (125773055 bytes/sec)

Read 50GB file - Run 1
----------------------
25000+0 records in
25000+0 records out
52428800000 bytes transferred in 305.717241 secs (171494417 bytes/sec)

Write 50GB file - Run 2
----------------------
25000+0 records in
25000+0 records out
52428800000 bytes transferred in 466.351354 secs (112423390 bytes/sec)

Write 20GB file - Run 2
----------------------
10000+0 records in
10000+0 records out
20971520000 bytes transferred in 182.473326 secs (114929236 bytes/sec)

Write 10GB file - Run 2
----------------------
5000+0 records in
5000+0 records out
10485760000 bytes transferred in 81.403582 secs (128812022 bytes/sec)

Write 5GB file - Run 2
----------------------
2500+0 records in
2500+0 records out
5242880000 bytes transferred in 43.059329 secs (121759445 bytes/sec)

Write 2GB file - Run 2
----------------------
1000+0 records in
1000+0 records out
2097152000 bytes transferred in 10.607424 secs (197706059 bytes/sec)

Write 1GB file - Run 2
----------------------
500+0 records in
500+0 records out
1048576000 bytes transferred in 2.466486 secs (425129520 bytes/sec)

Read 50GB file - Run 2
----------------------
25000+0 records in
25000+0 records out
52428800000 bytes transferred in 297.849526 secs (176024453 bytes/sec)

Read 20GB file - Run 2
----------------------
10000+0 records in
10000+0 records out
20971520000 bytes transferred in 124.624740 secs (168277342 bytes/sec)

Read 10GB file - Run 2
----------------------
5000+0 records in
5000+0 records out
10485760000 bytes transferred in 57.145953 secs (183490859 bytes/sec)

Read 5GB file - Run 2
----------------------
2500+0 records in
2500+0 records out
5242880000 bytes transferred in 29.020450 secs (180661567 bytes/sec)

Read 2GB file - Run 2
----------------------
1000+0 records in
1000+0 records out
2097152000 bytes transferred in 13.731475 secs (152725908 bytes/sec)

Read 1GB file - Run 2
----------------------
500+0 records in
500+0 records out
1048576000 bytes transferred in 7.231842 secs (144994317 bytes/sec)

Write 50GB file - Run 3
----------------------
25000+0 records in
25000+0 records out
52428800000 bytes transferred in 447.142228 secs (117253072 bytes/sec)

Write 20GB file - Run 3
----------------------
10000+0 records in
10000+0 records out
20971520000 bytes transferred in 179.590296 secs (116774238 bytes/sec)

Write 10GB file - Run 3
----------------------
5000+0 records in
5000+0 records out
10485760000 bytes transferred in 87.304184 secs (120106042 bytes/sec)

Write 5GB file - Run 3
----------------------
2500+0 records in
2500+0 records out
5242880000 bytes transferred in 39.321512 secs (133333632 bytes/sec)

Write 2GB file - Run 3
----------------------
1000+0 records in
1000+0 records out
2097152000 bytes transferred in 11.133756 secs (188359797 bytes/sec)

Write 1GB file - Run 3
----------------------
500+0 records in
500+0 records out
1048576000 bytes transferred in 2.909737 secs (360367980 bytes/sec)

Read 50GB file - Run 3
----------------------
25000+0 records in
25000+0 records out
52428800000 bytes transferred in 307.265873 secs (170630078 bytes/sec)

Read 20GB file - Run 3
----------------------
10000+0 records in
10000+0 records out
20971520000 bytes transferred in 107.919501 secs (194325584 bytes/sec)

Read 10GB file - Run 3
----------------------
5000+0 records in
5000+0 records out
10485760000 bytes transferred in 56.096336 secs (186924151 bytes/sec)

Read 5GB file - Run 3
----------------------
2500+0 records in
2500+0 records out
5242880000 bytes transferred in 25.812153 secs (203116727 bytes/sec)

Read 2GB file - Run 3
----------------------
1000+0 records in
1000+0 records out
2097152000 bytes transferred in 15.795409 secs (132769718 bytes/sec)

Read 1GB file - Run 3
----------------------
500+0 records in
500+0 records out
1048576000 bytes transferred in 5.226736 secs (200617744 bytes/sec)

Write 1GB file - Run 4
----------------------
500+0 records in
500+0 records out
1048576000 bytes transferred in 7.083825 secs (148023987 bytes/sec)

Write 2GB file - Run 4
----------------------
1000+0 records in
1000+0 records out
2097152000 bytes transferred in 15.170172 secs (138241808 bytes/sec)

Write 5GB file - Run 4
----------------------
2500+0 records in
2500+0 records out
5242880000 bytes transferred in 32.837487 secs (159661426 bytes/sec)

Write 10GB file - Run 4
----------------------
5000+0 records in
5000+0 records out
10485760000 bytes transferred in 84.685240 secs (123820397 bytes/sec)

Write 20GB file - Run 4
----------------------
10000+0 records in
10000+0 records out
20971520000 bytes transferred in 177.284838 secs (118292801 bytes/sec)

Write 50GB file - Run 4
----------------------
25000+0 records in
25000+0 records out
52428800000 bytes transferred in 454.189528 secs (115433749 bytes/sec)

Read 1GB file - Run 4
----------------------
500+0 records in
500+0 records out
1048576000 bytes transferred in 10.777856 secs (97289850 bytes/sec)

Read 2GB file - Run 4
----------------------
1000+0 records in
1000+0 records out
2097152000 bytes transferred in 11.375764 secs (184352631 bytes/sec)

Read 5GB file - Run 4
----------------------
2500+0 records in
2500+0 records out
5242880000 bytes transferred in 28.193079 secs (185963371 bytes/sec)

Read 10GB file - Run 4
----------------------
5000+0 records in
5000+0 records out
10485760000 bytes transferred in 56.196842 secs (186589844 bytes/sec)

Read 20GB file - Run 4
----------------------
10000+0 records in
10000+0 records out
20971520000 bytes transferred in 130.437150 secs (160778735 bytes/sec)

Read 50GB file - Run 4
----------------------
25000+0 records in
25000+0 records out
52428800000 bytes transferred in 278.549596 secs (188220700 bytes/sec)

Write 50GB file - Run 5
----------------------
25000+0 records in
25000+0 records out
52428800000 bytes transferred in 462.820019 secs (113281185 bytes/sec)

Write 20GB file - Run 5
----------------------
10000+0 records in
10000+0 records out
20971520000 bytes transferred in 182.153513 secs (115131021 bytes/sec)

Write 10GB file - Run 5
----------------------
5000+0 records in
5000+0 records out
10485760000 bytes transferred in 86.703222 secs (120938527 bytes/sec)

Write 5GB file - Run 5
----------------------
2500+0 records in
2500+0 records out
5242880000 bytes transferred in 44.521506 secs (117760616 bytes/sec)

Write 2GB file - Run 5
----------------------
1000+0 records in
1000+0 records out
2097152000 bytes transferred in 9.688905 secs (216448814 bytes/sec)

Write 1GB file - Run 5
----------------------
500+0 records in
500+0 records out
1048576000 bytes transferred in 2.999875 secs (349539917 bytes/sec)

Read 50GB file - Run 5
----------------------
25000+0 records in
25000+0 records out
52428800000 bytes transferred in 275.976041 secs (189975912 bytes/sec)

Read 20GB file - Run 5
----------------------
10000+0 records in
10000+0 records out
20971520000 bytes transferred in 108.648513 secs (193021694 bytes/sec)

Read 10GB file - Run 5
----------------------
5000+0 records in
5000+0 records out
10485760000 bytes transferred in 58.504544 secs (179229839 bytes/sec)

Read 5GB file - Run 5
----------------------
2500+0 records in
2500+0 records out
5242880000 bytes transferred in 32.406680 secs (161783928 bytes/sec)

Read 2GB file - Run 5
----------------------
1000+0 records in
1000+0 records out
2097152000 bytes transferred in 13.631449 secs (153846594 bytes/sec)

Read 1GB file - Run 5
----------------------
500+0 records in
500+0 records out
1048576000 bytes transferred in 5.689886 secs (184287704 bytes/sec)
[joachim@crashbox ~]$ 
 

sjieke

Contributor
Joined
Jun 7, 2011
Messages
125
I will post it when I get home. I don't have it with me at the moment, only my first results.
 

sjieke

Contributor
Joined
Jun 7, 2011
Messages
125
Basically I used the same command as you did, but with blocksizes of 2MB
Write: dd if=/dev/zero of=/mnt/tank/testfile bs=2M count=500
Read: dd of=/dev/null if=/mnt/tank/testfile bs=2M

For different file sizes I update the count value and the filename.
I also put a sleep of 30 seconds between each test
 

William Grzybowski

Wizard
iXsystems
Joined
May 27, 2011
Messages
1,754
DD is not a benchmark...

Your issue has good chances to be memory, 3gb is very low to zfs, you cant expect good performance
 

William Grzybowski

Wizard
iXsystems
Joined
May 27, 2011
Messages
1,754
okay, will 4 GB do the trick or should I "invest" 50€ and go with 8 GB?

The minimum recommended for a good performance with zfs is 6gb..

It's worth to point out that memory might not be the primary reason for the slowness of your system, that could be network or controller driver related as well...
 

niclas197

Dabbler
Joined
Jul 29, 2011
Messages
24
Well, I edited my loader.conf with this additional values:

ahci_load="yes"
aio_load="YES"

vfs.zfs.txg.timeout="5"
vfs.zfs.zio.use_uma="0"
vfs.zfs.prefetch_disable="1"

and my /conf/base/etc/sysctl.conf with:
vfs.zfs.txg.write_limit_override=268435456

and now I have constant AFP write speed of 50-68 MB/s which is quite good. I will add 8 GB memory and try to get even better performance.

Are there any loader.conf or other settings I have to set after upgrading to 8GB (except vfs.zfs.txg.write_limit_override=1073741824)?

P.S: aio_load="YES" fixed my CIFS/SMB issues. It's not quite as fast as netatalk (-ca.5MB/s) but it works (even on OSX Lion)
 

parks853

Dabbler
Joined
Jul 26, 2011
Messages
36
Would it matter if the the pins on the EARS were jumpered to appear as a 512b sector drive?
 

sjieke

Contributor
Joined
Jun 7, 2011
Messages
125
@William
I know that dd isn't a benchmark, but I think it gives a good feel of the overall read/write performance for a given file size.

@niclas197
I think it's strange that setting "aio_load=YES" in loader.conf makes a difference, since I thought it was already loaded because it is compiled inside the kernel. Maybe a dev can confirm/decline this?

@marcusmarcus
I read your post. It was actually your post that made do these tests. I'm planning to run the same tests over the network using a linux client through NFS, CIFS and FTP and see what the impact is for enabling/disabling hyperthreading and possible other settings.

For those still interested, here is what's inside the "benchmark.sh" script
Code:
#!/bin/sh
echo ""
echo "Write 1GB file - Run 1"
echo "----------------------"
dd if=/dev/zero of=/mnt/tank/testfile_1G.001 bs=2M count=500

sleep 30

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

sleep 30

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

sleep 30

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

sleep 30

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

sleep 30

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

sleep 30

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

sleep 30

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

sleep 30

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

sleep 30

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

sleep 30

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

sleep 30

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

sleep 30

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

sleep 30

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

sleep 30

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

sleep 30

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

sleep 30

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

sleep 30

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

sleep 30

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

sleep 30

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

sleep 30

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

sleep 30

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

sleep 30

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

sleep 30

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

sleep 30

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

sleep 30

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

sleep 30

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

sleep 30

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

sleep 30

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

sleep 30

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

sleep 30

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

sleep 30

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

sleep 30

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

sleep 30

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

sleep 30

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

sleep 30

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

sleep 30

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

sleep 30

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

sleep 30

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

sleep 30

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

sleep 30

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

sleep 30

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

sleep 30

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

sleep 30

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

sleep 30

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

sleep 30

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

sleep 30

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

sleep 30

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

sleep 30

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

sleep 30

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

sleep 30

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

sleep 30

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

sleep 30

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

sleep 30

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

sleep 30

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

sleep 30

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

sleep 30

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

sleep 30

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

sleep 30

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

sleep 30

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

jenksdrummer

Patron
Joined
Jun 7, 2011
Messages
250
Would it matter if the the pins on the EARS were jumpered to appear as a 512b sector drive?

EARS report as 512b to BIOS. These are regarded as 512e drives, because they report (falsely) to bios that they are 512b sector drives, and not 4K drives.

The jumper just makes the offset at 64, vs 63, which makes the partitions line up on non-intuitive operating systems that are aware of 4K drives...


FreeNAS 7.2 (last release) is 4K aware, as is FreeNAS 8.0.1 Beta (soemthing) - I know Beta-4 is.

Both Windows Vista SP2 Windows 7 (and their server counter-parts) are 4K aware as well - meaning they should detect 4K drives and partition and format them correctly.

HOWEVER, I have discovered that when you use Dynamic Disks and create a software-RAID, it doesn't align the partitions correctly. Awesomely bad performance ;)

I've got the same system as you, but with 8GB RAM. Run it with that and you're gold. If you decide to use FreeNAS 8.0-RELEASE, jumper the drives, since the OS is not 4K aware (at least from the GUI, maybe more under the hood)

I get great performance with ZFS, FreNAS 7.2 (not jumpered) - better with FreeNAS 8-Release (jumpered), even better with 8.0.1-Beta4 (not jumpered))
 
Status
Not open for further replies.
Top