On Fri, Nov 30, 2007 at 02:31:50PM -1000, Jeff Roberson wrote: > 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? Answering the questions:
I am using sysbench, with read-write tests. The test-table has 10M tuples, and i'm querying it for two minutes. On Sat, Dec 01, 2007 at 04:41:58PM +0100, Miroslav Lachman wrote: > > As Mike Tancsa suggested - rebuild MySQL dynamic and use these values in > /etc/libmap.conf > > # /etc/libmap.conf > # > # candidate mapping > # > [/usr/local/libexec/mysqld] > libpthread.so.2 libthr.so.2 > libpthread.so libthr.so > > Miroslav Lachman no need for this, since on 7 libthr is the default threading implementation. Now, some test results. The numbers show Queries/Second and in order they correspond to the following number of threads: 1 2 4 8 16 32 64 128 192 256 384 512 fbsd7_ufs_TSC_rw_plot: 1891.74 1935.85 1630.94 1966.75 1816.05 1700.58 1590.84 1536.18 1533.99 1526.05 1520.00 1464.44 fbsd7_ufs_rw_plot: 1740.98 1605.12 1520.87 1548.42 1566.22 1465.80 1464.17 1420.33 1384.02 1433.44 1489.23 1445.75 (ZM stands for zmirror with 2 drives) fbsd7_zfs_zm_rw_plot: 333.62 297.55 265.34 312.15 315.67 241.05 200.08 177.46 162.11 147.02 146.52 125.72 (cdb2 means a setup we have. It's mysql 5.0.22) linux26_cdb2_rw_plot: 2013.59 2591.36 3515.02 3629.28 3129.89 3139.59 2747.31 linux26_mysql5041_rw_plot: 3415.20 4193.24 4670.92 4619.93 4288.13 3942.70 3591.34 3192.13 2966.72 2855.82 2580.51 2405.44 (This one is still in progress) linux26_mysql5041_tcmalloc_rw_plot: 2916.28 3551.13 3728.86 3856.79 3866.78 3707.94 3440.99 3251.88 3180.07 3070.65 2937.17 The testbox has a dual opteron 246, 12G of memory and a 3ware-9550 with two disks in a mirror for the rootfs (also this is where the mysql datafiles were, except for the ZFS setup). The freebsd has mysql-5.0.45_1. As you see for the best case linux outperforms fbsd7 around twice, this means that i couldn't reproduce jeff@'s results. > > 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. > > > > > > > > > > > Sincerely, Gergely Czuczy mailto: [EMAIL PROTECTED] -- Weenies test. Geniuses solve problems that arise.
pgpl3JUn8rbkb.pgp
Description: PGP signature