Date: Thu, 03 Jan 2008 00:34:59 +0100 From: Kris Kennaway <kris@FreeBSD.org> To: Krassimir Slavchev <krassi@bulinfo.net> Cc: FreeBSD <freebsd-stable@freebsd.org> Subject: Re: Performance! Message-ID: <477C1FA3.2070904@FreeBSD.org> In-Reply-To: <477BB7C0.3060603@bulinfo.net> References: <476A5EE1.9000003@bulinfo.net> <476FF662.6050604@FreeBSD.org> <477BB7C0.3060603@bulinfo.net>
next in thread | previous in thread | raw e-mail | index | archive | help
Krassimir Slavchev wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Kris Kennaway wrote: >> Krassimir Slavchev wrote: >> Hello, >> >> I have read all related threads about performance problems with multi >> core systems but still have no idea what to do to make thinks better. >> Below are results of testing postgresql on HP DL380G5 using sysbench. >> The results are comparable to: >> http://blog.insidesystems.net/articles/2007/04/11/postgresql-scaling-on-6-2-and-7-0 >> >> but the same tests running on the same hardware using Linux (kernel >> 2.6.18-53.1.4.el5 SMP x86_64) are very different. >> PostgreSQL is tuned equal. >> >> dmesg: >> ... >> CPU: Intel(R) Xeon(R) CPU X5450 @ 3.00GHz (3000.02-MHz >> K8-class CPU) >> Origin = "GenuineIntel" Id = 0x10676 Stepping = 6 >> >> Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE> >> >> >> Features2=0xce3bd<SSE3,RSVD2,MON,DS_CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,DCA,<b19>> >> >> AMD Features=0x20000800<SYSCALL,LM> >> AMD Features2=0x1<LAHF> >> Cores per package: 4 >> usable memory = 8575655936 (8178 MB) >> avail memory = 8288337920 (7904 MB) >> ACPI APIC Table: <HP ProLiant> >> FreeBSD/SMP: Multiprocessor System Detected: 8 CPUs >> ... >> >> test: >> sysbench --num-threads=${i} --test=oltp --pgsql-user=bench >> --pgsql-db=bench --db-driver=pgsql --max-time=60 --max-requests=0 >> --oltp-read-only=on run >> >> tuning: >> kern.ipc.shmmax=2147483647 >> kern.ipc.shmall=524288 >> kern.ipc.semmsl=512 >> kern.ipc.semmap=256 >> kern.ipc.somaxconn=2048 >> kern.maxfiles=65536 >> vfs.read_max=32 >> >> kern.ipc.semmni=256 >> kern.ipc.semmns=2048 >> >> results: >> FreeBSD 7.0-BETA4 amd64 (cvsup on 20.12) GENERIC with SCHED_ULE >> #threads #transactions/sec user/system >> 1 500 7.4%,5.3% >> 5 1990 30.9%,23.4% >> 10 2510 39.9%,35.0% >> 20 2549 44.5%,43.5% >> 40 1921 29.8%,59.4% >> 60 1580 22.7%,70.6% >> 80 1341 18.9%,75.9% >> 100 1227 16.5%,79.3% >> >> Linux >> #threads #transactions/sec >> 1 693 >> 5 3539 >> 10 5789 >> 20 5791 >> 40 5661 >> 60 5517 >> 80 5401 >> 100 5319 >> >> >> What can be done to improve these results? >> >> Best Regards >> > _______________________________________________ > freebsd-stable@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-stable > To unsubscribe, send any mail to "freebsd-stable-unsubscribe@freebsd.org" > . > >> postgresql has some poor default settings on FreeBSD. You need to add: > >> stats_command_string = off >> update_process_title = off > >> Kris > > I use a copy of postgresql.conf file from linux. > Only 'stats_command_string = on' was commented. > Here are results with these settings and lock_manager patch: > > #threads #transactions/sec > 1 582 > 5 2154 > 10 2253 > 20 2705 > 40 2215 > 60 1713 > 80 1574 > 100 1256 Please enable LOCK_PROFILING in your kernel and then do sysctl debug.lock.prof.enable=1 <run the test with 8 threads> sysctl debug.lock.prof.enable=0 and send me the output of sysctl debug.lock.prof.stats Kris
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?477C1FA3.2070904>