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]"

Reply via email to