Performance!

Krassimir Slavchev krassi at bulinfo.net
Wed Jan 2 08:11:53 PST 2008


-----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 at freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscribe at 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

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (FreeBSD)

iD8DBQFHe7fAxJBWvpalMpkRAipaAJ4uNYByfRxOnPFf4HwG4MqV/zFDIACcC3Pj
W8uGwpdL0oBG0OKHJ/4b/PQ=
=1jGZ
-----END PGP SIGNATURE-----


More information about the freebsd-stable mailing list