On 30 Sep 2010, at 09:15, Felix Meschberger wrote:

>> 
>> Ok, (& btw, thanks for the other pointers).
>> The reason I want to register the filter before Sling is the caching one 
>> captures certain public responses before any processing and so should be a) 
>> highly concurrent with the right cache and b) lightweight.
> 
> Yes, I agree, that caching should be done as early as possible .... And
> to get most performance doing it before resolving the request resource
> and the servlet/script is probably a must.
> 
> This reminds me of other discussions we had around caching and the
> question, whether it would be usefull to have a hook in the
> SlingMainServlet (or its helpers) to plug cache functionality ?

That would make sense, I will look into a patch.

> 
>> 
>> I dont know if its my machine or the way of testing but at the moment I can 
>> only get a max of 600 request per seconds on a json properties GET, flat 
>> regardless of concurrency out of sling. If I test Tomcat 6 on a html page I 
>> get 6K/s and the throughput appears to have some relationship to the 
>> concurrency of the requests. 
> 
> I don't want to start finger-pointing, but ...

me neither, I just want to get a fix in place before it becomes a problem for 
us. (and any one else).

> 
> It looks like Jackrabbit has some issues with concurrent reads.
> 
> Setting up a test with a Java profiler allowing to measure thread
> contention (synchronization stuff) would probably show a hint (IIRC
> YourKit Profiler has such functionality).

Good pointer, they were kind enough to give me a license of OS work.

> 
> Probably we have such contentions in Sling, too (would not surprise me),
> and we should work on that.

Ok I will look into it.

One more point of reference data. A Servlet registered in OSGi using the Pax 
Web service has almost identical performance and concurrency compared to a 
Jetty instance OOTB. In order of 2K request/s single threaded rising to 5K 
request/s at 5 concurrent threads, but that is almost certainly fighting for 
OSX thread resources on my box.

So this narrows the problem down to within the SlingMain Servlet and beyond, I 
will look at that next.
Thanks
Ian



> 
> Regards
> Felix

Reply via email to