Introduction
Compared to a regular LDAP server, especially the native ones, Penrose is expected to be slower because it has to dynamically translate incoming LDAP requests into another form (e.g. SQL query), perform the operations on the data sources, then translate the results back into LDAP responses.
The actual performance of Penrose depends on several factors including:
- Datasource performance
- Size of data
- Complexity of mapping configuration
- Network latency
- Hardware and JVM performance
There are several methods to fine-tune Penrose's performance:
- Use simple mapping when possible
- Limit the size of the data retrieved per operation
- Use cache when real-time mapping is not required
- Run Penrose and datasource in the same machine
- Replicate the datasource into a faster system
