As a very first step, you should try to find out what the bottleneck is for your scenario:
- Does it take too long to look up the queried data in the database? If yes, can you speed it up with creating some indexes for common queries?
- If disk access is too slow, maybe you can put the database onto another (very fast) disk where LDAP has exclusive access?
- Does your System have enough RAM, or is it always swapping? Typically, LDAP databases should fit entirely into RAM if you don't have really large datasets. If not, add RAM.
- Is your network connection saturated? This is often a consequence of an LDAP server doubling as a file server or slow connections (10MB). If this is the case, maybe you can put in a faster network card or a second one.
- Is the server only an LDAP server or has it other heavy jobs? If yes, put it on separate, faster, hardware.
If all of this doesnt' help you'll need to add secondary servers to your setup and/or put some branches of your tree onto different servers. In the first case, you'll need to inform your clients of the different servers, depending on how they are configured, where round-robin DNS is the easiest way, IMHO. In the second case, your clients have to be capable of handling referrals so your original server can just send them over to the other servers.