I've forwarded this mail to the freebsd performance list so more people
can take a look at it. Thanks for all of the details. What was the test
that you're doing? sysbench? With writes or without? Or some other
benchmark?
Thanks,
Jeff
On Thu, 29 Nov 2007, Gergely CZUCZY wrote:
Hello
I've been testing mysql on 7-BETA2 for a few days, compared to a
linux -2.6.19.2-grsec, and i've found that the linux setup does
around two times more queries then the FreeBSD ones. This seems
to be a bit different according to your test results.
Could you help me to check out what am I missing?
I've installed mysql from ports, 5.0.45, and i'm using a production
config file from a linux system, slightly modified (i've updated the
paths, and the bind-address).
For 1 2 4 8 16 32 64 128 192 256 384 512 threads it does the
following results (queries/sec) on freebsd with UFS:
1740.98
1605.12
1520.87
1548.42
1566.22
1465.80
1464.17
1420.33
1384.02
1433.44
1489.23
1445.75
And for linux (it stops at 128 threads, i'm debugging this atm):
2791.05
3328.08
4459.14
3668.25
3489.43
3954.07
3055.25
As you see, it's a bit more the two times more. Something isn't right
it seems to me.
About the FreeBSD system:
FreeBSD sqltest.in.publishing.hu 7.0-BETA2 FreeBSD 7.0-BETA2 #3: Mon Nov 5
10:49:48 CET 2007 [EMAIL PROTECTED]:/usr/obj/usr/src/sys/SQLTEST amd64
I have the following kernel config:
cpu HAMMER
ident GENERIC
options SCHED_ULE
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 MD_ROOT # MD is a potential root device
options NFSCLIENT # Network Filesystem Client
options NFSSERVER # Network Filesystem Server
options NFS_ROOT # NFS usable as /, requires NFSCLIENT
options NTFS # NT File System
options MSDOSFS # MSDOS Filesystem
options CD9660 # ISO 9660 Filesystem
options PROCFS # Process filesystem (requires PSEUDOFS)
options PSEUDOFS # Pseudo-filesystem framework
options GEOM_PART_GPT # GUID Partition Tables.
options GEOM_LABEL # Provides labelization
options COMPAT_43TTY # BSD 4.3 TTY compat [KEEP THIS!]
options COMPAT_IA32 # Compatible with i386 binaries
options COMPAT_FREEBSD6 # Compatible with FreeBSD6
options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI
options KTRACE # ktrace(1) support
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
options AUDIT # Security event auditing
options SMP # Symmetric MultiProcessor Kernel
device cpufreq
device acpi
device pci
device fdc
device ata
device atadisk # ATA disk drives
device ataraid # ATA RAID drives
device atapicd # ATAPI CDROM drives
device atapifd # ATAPI floppy drives
device atapist # ATAPI tape drives
options ATA_STATIC_ID # Static device numbering
device scbus # SCSI bus (required for SCSI)
device ch # SCSI media changers
device da # Direct Access (disks)
device sa # Sequential Access (tape etc)
device cd # CD
device pass # Passthrough device (direct SCSI access)
device ses # SCSI Environmental Services (and SAF-TE)
device twa # 3ware 9000 series PATA/SATA RAID
device atkbdc # AT keyboard controller
device atkbd # AT keyboard
device psm # PS/2 mouse
device kbdmux # keyboard multiplexer
device vga # VGA video card driver
device sc
device sio # 8250, 16[45]50 based serial ports
device uart # Generic UART driver
device de # DEC/Intel DC21x4x (``Tulip'')
device em # Intel PRO/1000 adapter Gigabit Ethernet Card
device le # AMD Am7900 LANCE and Am79C9xx PCnet
device txp # 3Com 3cR990 (``Typhoon'')
device vx # 3Com 3c590, 3c595 (``Vortex'')
device miibus # MII bus support
device bge # Broadcom BCM570xx Gigabit Ethernet
device fxp # Intel EtherExpress PRO/100B (82557, 82558)
device msk # Marvell/SysKonnect Yukon II Gigabit Ethernet
device loop # Network loopback
device random # Entropy device
device ether # Ethernet support
device ppp # Kernel PPP
device tun # Packet tunnel.
device pty # Pseudo-ttys (telnet etc)
device md # Memory "disks"
device firmware # firmware assist module
device bpf # Berkeley packet filter
device uhci # UHCI PCI->USB interface
device ehci # EHCI PCI->USB interface (USB 2.0)
device usb # USB Bus (required)
device ugen # Generic
device uhid # "Human Interface Devices"
device ukbd # Keyboard
device ulpt # Printer
device umass # Disks/Mass storage - Requires scbus and da
device ums # Mouse
It's a slightly modified GENERIC.
Loaded modules:
Id Refs Address Size Name
1 2 0xffffffff80100000 65cb90 kernel
2 1 0xffffffff8075d000 f4da0 zfs.ko
The my.cnf:
# grep '^[\[a-z]' /var/db/mysql/my.cnf
[client]
port = 3307
socket = /tmp/mysql.sock
[mysqld_safe]
socket = /tmp/mysql.sock
nice = 0
[mysqld]
default-character-set = latin2
default-collation = latin2_hungarian_ci
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr/local
datadir = /var/db/mysql/
tmpdir = /tmp
old_passwords = 1
bind-address = 10.0.0.1
key_buffer = 1024M
max_allowed_packet = 16M
thread_stack = 512K
query_cache_limit = 20M
query_cache_size = 1024M
query_cache_type = 1
max_connections = 3600
thread_cache_size = 200
wait_timeout = 60
table_cache = 2048
sort_buffer = 12M
join_buffer_size = 12M
record_buffer = 12M
read_rnd_buffer_size = 8M
max_heap_table_size = 128M
tmp_table_size = 128M
myisam_sort_buffer_size = 64M
max_connect_errors = 64
server-id = 2
skip-bdb
skip-innodb
[mysqldump]
quick
quote-names
max_allowed_packet = 16M
[mysql]
[isamchk]
key_buffer = 16M
The box is a dual opteron 246 with 12GB of memory with 10K RPM
SATA disks on a 9550 3ware.
So, what can cause this big difference?
the MySQL binary is statically linked, i've built it
that way.
ldd: /usr/local/libexec/mysqld: not a dynamic executable
Though, maybe I should rebuild it dynamically to ensure it's
linked against libthr (and not pthread or c_r)...
So, any tips, guesses, anything what can cause this?
Thanks in advance.
Sincerely,
Gergely Czuczy
mailto: [EMAIL PROTECTED]
--
Weenies test. Geniuses solve problems that arise.
_______________________________________________
freebsd-performance@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-performance
To unsubscribe, send any mail to "[EMAIL PROTECTED]"