Hot answers tagged

9

There are various optimization and checks you can do for performance in DXA Enable DD4T caching. <add key="CacheSettings_CallBackInterval" value="30" /> <add key="DD4T.CacheSettings.Page" value="3600" /> <add key="DD4T.CacheSettings.Component" value="3600" /> Outputcaching as you mentioned. Make sure your binaries css, images, and js are ...


7

In 2013 SP1 the Cache Channel messages were not a public API, and that hasn't changed yet in Web 8 either. I don't think you can do much with the RMI at all actually, but when you change to JMS there are some possibilities. See for example Mihai's blog on how to hook into the messages using a JMS listener http://yatb.mitza.net/2014/07/custom-cache-...


6

You enable Tridion caching by updating your Storage Configuration, as shown below <ObjectCache Enabled="true"> <Policy Type="LRU" Class="com.tridion.cache.LRUPolicy"> <Param Name="MemSize" Value="16mb"/> </Policy> <Features> <Feature Type="DependencyTracker" Class="com.tridion.cache.DependencyTracker"/> &...


5

Quirijn in the caching setups that I've performed I observe that the system always starts with empty policy but immediately loads the LRU policy after. Can you see if you log files mention anything at all about the LRU policy? Example logs: 2012-01-27 10:28:19,863 INFO CacheFactory - No policy configured, creating a cache with an empty policy. ...


5

Scaling out the deployer: ActiveMQ and Amazon SQS are supported. For server side caching JMS is supported but the JMS vendor is not specified as it does not matter, just the type of messages. Here's a link Robert: https://gateway.sdl.com/apex/communityknowledge?articleName=000007093 That articles quotes the documentation (8.5): https://docs.sdl.com/...


4

i think your are loading too much content from the broker. Can't you do just some optimization. As mentioned by @Tanner Object Cache with CCS is indeed very good option check if it helps Nothing works better than optimizing your queries. how about putting some taxonomy and find only required content at load then lazy load rest of it. Keep your db indices ...


4

@Shatadru, How you are invalidating your application level cached result to reflect published data? To improve the performance of you query execution you can check the below options: Broker database maintenance(You can check the link) Broker query optimization- We can directly relate broker query with the SQL query being executed on broker database and ...


4

The default maximum is indeed 128 queue events. You can change this by specifying a different value for Queuesize attribute in the element RemoteSynchronization in the cd_storage_conf.xml file. Be generous with the queue size. Especially in a multilingual implementation. This number can easily exceed 1000000 and beyond. To figure out a good Queuesize ...


4

Maybe the problem is the number of results of the query. By default the number of results are limited to 25, as it is configured in the cd_webservice_conf.xml <OData> <DefaultTop>25</DefaultTop> <FixedPublicationId>1</FixedPublicationId> </OData> You can try changing this number or sorting the results to try to ...


4

It's caused by the fact that the CacheEvent class had no serialVersionUUID. Some application servers then generate their own and if they differ between JVMs (which is then usually the case), you get this error. Hotfix CD_8.1.1.2159 fixes the issue. You'll need to apply it on all involved CD components.


3

Apache ActiveMQ is blocking the JMS ObjectMessages for security reasons. This is the default configuration. Configure ActiveMQ to allow ObjectMessages to be deserialized. Either enable it for all ObjectMessages or just for com.tridion.cache.CacheEvent. Explanation and instructions are here: http://activemq.apache.org/objectmessage.html. If you're running ...


3

As highlighted in Albert's DD4T and caching blog post from back in 2012, the earlier versions of DD4T (prior to v2.0) relied on three mechanisms for caching: ASP.NET Output Cache SDL Tridion Object Cache The inbuilt DD4T caching As you say, the inbuilt DD4T caching polled the Content Delivery Store periodically to see whether the items stored in its cache ...


3

You may try following option: Keep the Maintenance Plan for SDL Tridion in effect and quite frequent - for extensive broker queries, I guess it was recommended to run the SDL Tridion Maintenance Plan every day, twice a day or even every few hours depending on the number of transactions and in parallel optimize the Broker Query as much possible - Check the ...


3

Instead of using the single full apachemq jar in deployer and website bin\lib folder, copy the individual jars from apachemq installation lib except log4j jar. After doing that the logging will start working on the application.


3

We are connecting with a JMS (Tibco) from Deployer Extension and the size limit specified for the queue in EMS is called as the queue build up size. This size is in MBs. It means that the EMS will continue to receive messages till the time this limit is not reached. For example if the publisher (in this case Deployer) keeps sending messages while the ...


3

After doing a lot of trial and error, I was finally able to cache my object. Here are my findings for anyone trying to implement caching in DXA. These are not specific to DXA but common for Springs+EHCache. @EnableCaching annotation on your context configuration class, provide appropriate cache manager beans, separate service bean into interface and ...


2

I'd say the answer depends on how you clean your JMS queue. Tridion doesn't do it by itself, which means your JMS provider has to do it (or alternatively be cleaned by a restart often enough). I'd say that if your publishing peak is 1k items per hour, and your JMS queue has a time to live of an hour, then i'd use something like 2k queue size.


2

The answer from SDL support about this (R&D), is to disable the object cache in the cd_storage_conf.xml if XPM is enabled. XPM seems to force disabling object cache anyway. When enabled, the logging seems to be wrong. In a newer version of Tridion (SDL Web) will this logging issue be fixed... The deployer doesn't seem to matter in this context. The ...


2

Please add the attribute cached="true" to the element. By default the caching is not inherited from the top level (ItemTypes element) and and if cached attribute is not specified it is set to disabled, so in Publication 48 you now have caching disabled.


2

Essentially, having XPM on a website lowers the amount of caching done of componentlinks. There's nothing you can do about it. This, as far as i know, has always been the case since XPM was introduced. The probably cause for this is that component links are cached very aggressively (up to being stale for 24h the last time i have had a look), which might be ...


2

To directly answer your question ("Will there be any interference with EHCache with this kind of setup?"): Maybe, depending on how you set it up. There could be issues on the EHCache setup (cache time too long), or issues on the Object Cache side (firewall blockage, incorrect configuration, jar file conflicts, and the list goes on). First, you need to ...


2

SDL issued a hotfix for this issue. It was caused by the service-caching on the CIL having a sliding expiration which meant that regularly requested content was not falling out of the cache when published. Hotfix is: CD_8.1.1.2889 A second hotfix was issued for the deployer as it was not clearing Component links in a scaled out scenario - hot fix is: CD_8.1....


2

Quirijn, documentation say that the size can be configured when defining the policy itself http://docs.sdl.com/LiveContent/content/en-US/SDL%20Web-v1/GUID-D10BB04E-192D-432D-A00D-01D74182A260 Example: <Policy Type="LRU" Class="com.tridion.cache.LRUPolicy"> <Param Name="Size" Value="128" /> <Param Name="MemSize" Value="32M" /> </...


2

sometimes it appears only after restarting the Content Service and Tomcat service. You may want to test this independently, so you can figure out which cache is holding your content updates hostage (as the solution is different depending on which). You can test content updates on the Content Service by querying the service directly - check logs in debug ...


2

Turns out it was just some old configuration that was stuck in my websphere instance. I rebuilt the application and redeployed the war and the messages went away.


2

So, according to the Stack Trace, there is a NullPointerException at line 53 in TridionCacheConfiguration.java. Good luck with post-mortem analysis. :-) See: https://community.sdl.com/product-groups/sdl-tridion-dx/tridion-sites/b/blog-posts/posts/digital-forensics-based-on-a-stack-trace UPDATE There are three things on line 53 that could cause a ...


2

The issue was with some piece of DXA 1.8 code here if (localization.LastRefresh.CompareTo(lastPublishedDate) < 0) { //File has been modified since last application start but we don't care Log.Debug( "Binary with URL '{0}' is modified, but only since last application restart, ...


1

You need to configure cache invalidation messaging - see the documentation on this topic: https://docs.sdl.com/LiveContent/content/en-US/SDL%20Web-v5/GUID-7E728735-073B-4827-AABE-B45592CFF36D With this in place, the deployer will send messages to the Content Services invalidating whatever has just been published.


1

There's no generic Transport Listener specification in the JMS Api / specification, so hence it's not possible to keep this part generic. You should be able simply remove the transportListener and the references to it and then invalidation will still work.


1

I guess the conclusion maybe is that the name of the class JMSTransportListener should possibly have been ActiveMQTransportListener instead, and if you are not intenting to use ActiveMQ, you should implement your own jmsTransportListener. However I'm not completely sure because you fail to mention what changes you are making to support your other JMS server....


Only top voted, non community-wiki answers of a minimum length are eligible