We restart slapd/slurpd for a variety of reasons:
1) In earlier versions of OpenLDAP, there were threading issues
(including heimdal, cyrus-sasl, etc, so it was not all in OpenLDAP).
2) On the master, we export the DB via slapcat nightly. Thus we shut
down the master on a nightly basis.
3) The resident size of slapd grows over time. One of our replicas is
routinely pegging 3GB resident with slapd (out of 4GB). Restarting
slapd nightly clears out the resident memory size.
We have a simple little script that coordinates the shutdown of the
servers based off hostname (it relies on the host hostnames ending in
a number), so that we never have a loss of service.