View Single Post
  #1   (View Single Post)  
Old 25th January 2010
vermaden's Avatar
vermaden vermaden is offline
Administrator
 
Join Date: Apr 2008
Location: pl_PL.lodz
Posts: 1,056
Default ZFS / UFS / Soft Updates / GJurnal / Bonnie Performance

I have done some tests with UFS/ZFS under bonnie benchmark.

here are the results if you are interested.

software:
OS: FreeBSD 7-CURRENT 200708 snapshot
benchmark: bonnie -s 2048
CFLAGS: -O2 -fno-strict-aliasing -pipe -s
CPUTYPE: athlon-mp
scheduler: ULE
hardware:
CPU: (single) Athlon XP 2000+ [ 12.5 x 1333MHz ]
MEM: 1 GB DDR 266MHz CL2
FSB Ratio: 1:1
MOTHERBOARD: AMD 760 MPX
HDD: (single) Maxtor 6L160P0 ATA/133
legend:
Code:
    GJ - GJournal
    SU - Soft Updates
  lzjb - zfs set compression=lzjb ${POOL}
gzip-* - zfs set compression=gzip-* ${POOL}
colors:
Code:
 GREEN - first
ORANGE - second
   RED - third
Code:
                     ---------Sequential Output----------   -----Sequential Input---   --Random--
                     -Per Char-   --Block---   -Rewrite--   -Per Char-    ---Block---  --Seeks---
                     K/sec %CPU   K/sec %CPU   K/sec %CPU   K/sec %CPU    K/sec %CPU   /sec  %CPU
UFS                  44735 64.9   46970 18.0   15565  7.0   41166 54.9    47447 12.9   173.9  1.1
UFS.noatime          45524 66.0   47032 18.1   15397  7.0   40431 54.3    46874 12.8   177.8  1.1
UFS.noatime.async    45621 66.4   46510 17.8   15432  7.0   41227 55.4    47501 12.9   174.0  1.1
UFS_SU               45294 66.5   42729 17.5   15563  7.1   39849 53.4    43410 11.9   167.4  1.0
UFS_SU.noatime       45998 67.6   42278 17.3   15378  6.9   39169 51.7    44086 12.0   166.6  1.0
UFS_SU.noatime.async 46125 67.7   43361 17.7   15520  7.0   39132 52.4    43598 11.9   169.0  1.0
UFS_GJ               18357 27.5   18079  7.5   10931  4.7   40076 52.9    46950 13.3   181.1  1.2
UFS_GJ.noatime       18140 27.1   16990  7.1   10973  4.7   39837 53.4    47476 13.4   169.4  1.1
UFS_GJ.noatime.async 17942 26.9   17586  7.3   11107  4.8   38021 51.1    47414 13.2   171.4  1.1
ZFS                  32858 64.1   30611 20.4   15401 10.0   39544 60.3    47483 11.0    65.5  0.8
ZFS.noatime          32463 64.5   29860 20.8   14992  9.8   40286 62.0    47717 12.9    65.3  0.7
ZFS.comp=lzjb        40061 78.8   86064 61.5   55270 42.2   51819 79.8   132028 50.1   138.0  3.2
ZFS.comp=gzip-1      25843 49.2   38214 26.8   25772 30.7   45479 77.2   102446 54.4   354.7 21.0
ZFS.comp=gzip-9      19968 38.2   22995 16.3   19615 25.2   46752 84.6   102759 63.0   740.6 62.6
ZFS_DEF: default ZFS/FreeBSD settings for 1GB/i386 system

Code:
kern.maxvnodes:           70235
vfs.zfs.prefetch_disable: 0
vfs.zfs.arc_max:          167772160
vm.kmem_size_max:         335544320
vfs.zfs.zil_disable:      0
ZFS_TUNE: tuned settings reccomneded here: http://wiki.freebsd.org/ZFSTuningGuide

Code:
kern.maxvnodes:           50000
vfs.zfs.prefetch_disable: 1
vfs.zfs.arc_max:          104857600
vm.kmem_size_max:         402653184
vfs.zfs.zil_disable:      0 / 1
ZFS results:

Code:
                                ---------Sequential Output----------   -----Sequential Input---   --Random--
                                -Per Char-   --Block---   -Rewrite--   -Per Char-    ---Block---  --Seeks---
                                K/sec %CPU   K/sec %CPU   K/sec %CPU   K/sec %CPU    K/sec %CPU   /sec  %CPU
ZFS_DEF                         32858 64.1   30611 20.4   15401 10.0   39544 60.3    47483 11.0    65.5  0.8
ZFS_TUNE                        35637 68.1   30117 20.2   18787  9.9   35982 47.9    48953  9.3    66.3  0.7
ZFS_TUNE.zil=disabled           38353 74.9   31409 21.1   20198 10.6   35449 48.6    48207  9.6    65.6  0.7

ZFS_DEF.comp=lzjb               40061 78.8   86064 61.5   55270 42.2   51819 79.8   132028 50.1   138.0  3.2
ZFS_TUNE.comp=lzjb              40228 75.6   89397 59.1   50634 40.1   54886 91.4   156476 80.1   127.6  2.9
ZFS_TUNE.comp=lzjb.zil=disabled 40536 76.4   83370 57.4   52601 41.8   54335 92.1   151080 80.2   133.3  2.9

kernel config:

Code:
cpu		I686_CPU
ident		VERMADEN

options	SCHED_ULE		# ULE scheduler
options 	PREEMPTION		# Enable kernel thread preemption
options 	INET			# InterNETworking
options 	FFS			# Berkeley Fast Filesystem
options 	SOFTUPDATES		# Enable FFS soft updates support
options 	UFS_ACL		# Support for access control lists
options 	UFS_DIRHASH		# Improve performance on big directories
options 	UFS_GJOURNAL		# Enable gjournal-based UFS journaling
options 	GEOM_PART_GPT		# GUID Partition Tables.
options 	GEOM_LABEL		# Provides labelization
options 	COMPAT_43TTY		# BSD 4.3 TTY compat [KEEP THIS!]
options 	SCSI_DELAY=5000	# Delay (in ms) before probing SCSI
options 	SYSVSHM		# SYSV-style shared memory
options 	SYSVMSG		# SYSV-style message queues
options 	SYSVSEM		# SYSV-style semaphores
options 	_KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
options 	KBD_INSTALL_CDEV	# install a CDEV entry in /dev
options 	ADAPTIVE_GIANT	# Giant mutex is adaptive.
options 	STOP_NMI		# Stop CPUS using NMI instead of IPI

# SMP kernel
options 	SMP			# Symmetric MultiProcessor Kernel
device		apic			# I/O APIC

# Bus support
device		eisa
device		pci

# Floppy drives
device		fdc

# ATA and ATAPI devices
device		ata
device		atadisk		# ATA disk drives
device		atapicd		# ATAPI CDROM drives
device		atapifd		# ATAPI floppy drives
options 	ATA_STATIC_ID	# Static device numbering

# SCSI peripherals
device		scbus		# SCSI bus (required for SCSI)
device		da		# Direct Access (disks)
device		cd		# CD
device		pass		# Passthrough device (direct SCSI access)

# Keyboard and the PS/2 mouse
device		atkbdc		# AT keyboard controller
device		atkbd		# AT keyboard
device		psm		# PS/2 mouse
device		kbdmux		# keyboard multiplexer

# Syscons console driver
device		sc
device		vga		# VGA video card driver
device		splash		# Splash screen and screen saver support

# Add suspend/resume support for the i8254.
device		pmtimer

# NIC
device		miibus		# MII bus support
device		fxp		# Intel EtherExpress PRO/100B (82557, 82558)

# Pseudo devices
device		loop		# Network loopback
device		random		# Entropy device
device		ether		# Ethernet support
device		pty		# Pseudo-ttys (telnet etc)
device		md		# Memory "disks"

# Berkeley Packet Filter
device		bpf		# Berkeley packet filter
I added this old thread here, since it was present on bsdformus.org [RIP] and is still present on other UNIX sites/forums but not here.
__________________
religions, worst damnation of mankind
"If 386BSD had been available when I started on Linux, Linux would probably never had happened." Linus Torvalds

Linux is not UNIX! Face it! It is not an insult. It is fact: GNU is a recursive acronym for “GNU's Not UNIX”.
vermaden's: links resources deviantart spreadbsd
Reply With Quote