5

We have installed Web 8 and have object caching configured on both Discovery and Content service. We have also set the defaultStorageId to defaultDb and set cache equal to true. We have setup a logger for caching to make sure cache lists are being created and to confirm there are no errors about memory size or other things.

However, when I load my CD webpage with all that caching enabled I get the same performance from the Web services as I do when all the caching is disabled. The performance is not good and enabling caching does not help it looks like. Any ideas?

FYI. When I enabled longlived cached on the CD web app performance is great. The page loads in < 500 ms, but when I disable the CD web app cache it takes 10 seconds to load because it has to talk to the Content and Discovery service.

Thoughts?

...
    <ObjectCache Enabled="true">
        <Policy Class="com.tridion.cache.LRUPolicy" Type="LRU">
            <Param Name="MemSize" Value="512mb"/>
        </Policy>
        <Features>
            <Feature Class="com.tridion.cache.DependencyTracker" Type="DependencyTracker"/>
        </Features>
        <RemoteSynchronization FlushCacheDuringDisconnectInterval="20000" Queuesize="512" ServiceMonitorInterval="10000">
            <Connector Class="com.tridion.cache.RMICacheChannelConnector" Host="...." Port="1099"/>
        </RemoteSynchronization>
    </ObjectCache>
    <Storages>
        <Storage Class="com.tridion.storage.persistence.JPADAOFactory" Id="defaultdb" Type="persistence" dialect="MSSQL">
            <Pool CheckoutTimeout="120" IdleTimeout="120" MonitorInterval="60" Size="10" Type="jdbc"/>
                <DataSource Class="com.microsoft.sqlserver.jdbc.SQLServerDataSource">
                    ...
                </DataSource>
            </Storage>
        </Storages>
</Global>
<ItemTypes cached="true" defaultStorageId="defaultdb"/>
...

I can't remove the comment at this point but as noted below I also tried excluding the taxonomy but that did not change anything.

<ItemTypes cached="true" defaultStorageId="defaultdb">
  <Item cached="false" storageId="defaultdb" itemType="Taxonomy" />
</ItemTypes/>

Also in regards to other comments:

1- I removed the FlushCacheDuringDisconnectInterval and ServiceMonitorInterval nodes so they would take on their default value but no change.

  • I have also tried putting taxonomy under items types to exclude (I have been told we have a pretty large taxonomy). That did not help, if anything it made it worse. – ToddB Nov 22 '17 at 23:09
  • What is the JVM you have assigned to your microservice? You have set object caching as 512 MB and as far as I remember, default JVMs for microservices are also set to 512 MB. So that could be some help. – Vikas Kumar Nov 23 '17 at 5:59
  • 1
    @ToddB please edit your question to add the additional info, leave the comments for people to ask you for more information, and provide it by editing your question. – Bart Koopman Nov 23 '17 at 9:43
  • I presume you tried with the default values for FlushCacheDuringDisconnectInterval and ServiceMonitorInterval - in which case - what was the rationale for the figures used above? – Dylan .. Mark Saunders Nov 23 '17 at 10:18
  • @VikasKumar where would I find the JVM info you are asking about? – ToddB Nov 23 '17 at 15:50
2

Here is the link to the docs for JVM Heap size settings, as per Vikas' suggestion in the comments above: https://docs.sdl.com/LiveContent/content/en-US/SDL%20Web-v1/GUID-882178AA-A7E5-451B-8CD3-9F06D967F9BE

Make sure it is 512 MB, as suggested. The default Java setting is something like 64 MB, so if the Tridion install script didn't override it with 512 for some reason, then this could do it.

For reference, here is the Oracle documentation for further settings that can be made: https://docs.oracle.com/cd/E15523_01/web.1111/e13814/jvm_tuning.htm#PERFM161

  • Per the install script and the docs you linked the defaults are $jvmoptions = "-Xrs", "-Xms256m", "-Xmx512m" So it starts at 256 but has a default max size of 512. – ToddB Nov 25 '17 at 19:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.