chemistry-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Florian Müller <f...@apache.org>
Subject Re: OpenCMIS client cache documentation and tracing
Date Wed, 07 Nov 2012 19:50:48 GMT
 Hi!

 Re 1)
 You have found everything that is out there.

 Re 2)
 It really depends on your use case.
 For example, if you just want to get the properties of 10,000 objects, 
 you can set the cache size to 10,000 but you don't need any links.
 If you want to work a lot with the same 10 objects (get content, 
 update, etc.), the size of the object and the link cache should be 10 or 
 more.
 The link cache is required for everything that is not getObject.

 Re 3)
 There is no monitoring. The memory consumption depends on the objects.
 You can write and use your own cache implementation and add whatever 
 you need.
 This is the interface you have to implement: 
 org.apache.chemistry.opencmis.client.runtime.cache.Cache

 Re 4)
 OpenCMIS is thread-safe and designed for the use case you described.

 Re 5)
 You can set a different cache implementation in the session parameters.
 There is a no-op cache implementation in OpenCMIS:
 org.apache.chemistry.opencmis.client.runtime.cache.NoCacheImpl



 Florian




> I need to tune to support many concurrent OpenCMIS sessions and 
> caches.
>
>
>    1. Is there documentation of OpenCMIS tuning and caching other 
> than the
>    links at the bottom?
>    2. Are there best practice relationships between the CACHE*
>    SessionParameters?  For example, if CACHE_SIZE_OBJECTS is set to 
> 50% of
>    its default value, CACHE_SIZE_LINKS should not be set to 10% of
> its default
>    value.
>    3. Can tracing be enabled in order to monitor the cache's heap 
> usage and
>     activity?  The max number of objects in the cache can be 
> controlled via
>    CACHE_SIZE_OBJECTS, but I assume the memory used is dependent on 
> number of
>    properties and value sizes.
>    4. Are Session, its cache, and other OpenCMIS objects thread-safe? 
> If
>    so, I assume a web app can reduce cache memory usage by 
> multiplexing
>    concurrent browser sessions with same repository user and password 
> onto
>    a single OpenCMIS Session.
>    5. Is there anyway to disable caching (just for testing) other 
> than to
>    call setCacheEnabled on each OperationContext?  Does creating a 
> Session
>    with CACHE_SIZE_OBJECTS=0 disable caching?
>
>
>
> Thank you.
>
>
> [1] 
> http://chemistry.apache.org/java/how-to/how-to-tune-perfomance.html
> [2] http://chemistry.apache.org/java/developing/dev-client-cache.html
> [3] 
> http://chemistry.apache.org/java/developing/dev-session-parameters.html
> [4] http://chemistry.apache.org/java/developing/guide.html


Mime
View raw message