I was doing some reading up on Sun Directory Server Enterprise Edition 7 (Sun DSEE) and came across a section on using a Directory Proxy Server to distribute loads, especially Writes.
The documentation went further by explaining why a Write Operation is resource intensive. I find it refreshing to revisit technical details.
Write operations are resource intensive. When a client requests a write operation, the follow sequence of events occurs on the database:
- The backend database is locked
- The entry is locked in the database cache
- The access control check plug-in is called
- Any backend pre-operation plug-ins are called
- The database transaction begins
- The database files are updated
- The old entry cache is replaced with new data
- The database transaction is committed
- Any backend post-operation plug-ins are called
- The backend database is unlocked
Because of this complex procedure, an increased number of writes can have a dramatic impact on performance.