Juergen.Sprenger@swisscom.com wrote:
Hi,
first I wish to thank all those who supplied helpful hints to solve the problem, especially Quanah Gibson-Mount and Howard Chu.
My performance issue was solved by switching from memory mapped keys to shared memory keys for hdb as suggested by Quanah and Howard. Putting 'shm_key 10' into slapd.conf and restart of slapd solved the problem. Performance improvement was about factor 10 on the Solaris box.
As the problem was gone connection logging was switched off, which additionally doubled throughput as Solaris sylog can't do asynchronous logging.
During further tests slapd stopped responding when many concurrent connections were active.
This behaviour was caused by default settings in /etc/system. Adding two lines to /etc/system and reboot solved the problem: set rlim_fd_max = 16368 set rlim_fd_cur = 8192
Should be enough for about 8000 connections.
Performance before: box1: hardware: Sun Microsystems sun4v SPARC Enterprise T5120 memory:32 GB RAM os: Solaris 10 s10s_u9wos_14a searches (avg/second): 1521
Performance after: box1: hardware: Sun Microsystems sun4v SPARC Enterprise T5120 memory:32 GB RAM os: Solaris 10 s10s_u9wos_14a searches (avg/second): 37000
What is the CPU utilization that you see at this point? The T5120 supposedly has 64 hardware threads, but in my tests on this architecture, we never got better than 50% utilization (a couple years ago). I'm curious if you can make use of the multiple listener feature added in 2.4.24. I no longer have access to any machines of this architecture to test for myself. Also are you using the on-chip ethernet interface?
My next step will be tuning network parameters.