Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
Description
In a performance test expected to reflect reasonably real-world conditions (50 concurrent users of a mixed load 'forum' type application) I found org.apache.sling.jcr.resource.internal.helper.jcr.JcrNodeResource.JcrNodeResource(ResourceResolver, Node, ClassLoader) taking more than 20% of time used. The majority of this time was spent in setting the resource metadata and to a lesser extent the resource type.
Because the metadata especially is not often accessed and even the resource type is not always accessed, delaying these initializations led to a noticeable performance improvement.
The attached patch delays resourcetype lookup and metadata lookups until needed.