[opencms-dev] Doubts about the operation of sitemap and cache in cluster (OCEE) with large volume (+100k resource) of information in OpenCms 11

Deiverson Jorge Lages da Silveira deiverson.silveira at squadra.com.br
Mon Oct 24 22:10:14 CEST 2022


Dear,

I'm carrying out a study of the operation of the sitemap generation and the
cache on a server that has OCEE (1 master and 2 slaves) in OpenCms 11.0.2
and possibly more than 100 thousand resources that need to be mapped in the
sitemap and stored in the cache, I need know if I'm going to have problems
with this large structure and this large volume of information that OpenCms
11 needs to process and store cache.

I will share my study (I don't know if I'm correct, if you can let me know)

I debugged the CmsXmlSitemapActionElement class, function run(), and saw
that it has a parameter called updateCache that verifies the receipt of
this from the updateCache request if it is true, and another variable that
checks if the cache box is checked in the structured content of the
sitemap, I looked in the source code/github and I didn't find anything that
submitted these parameters, I imagined that it would be a parameter that
needs to be created via Add Parameters in the configuration of
CmsUpdateXmlSitemapCacheJob that is not configured by default, I need to
please confirm if this is really it.

1 - The parameter updateCache comes from the class
CmsUpdateXmlSitemapCacheJob?

2 - I didn't find in the documentation how to configure this job to be
displayed in the admin interface. It is encapsulated inside some .jar?

I saw that the sitemap cache storage is simply stored through the function
CmsXmlSitemapCache.INSTANCE.put(seoFile.getRootPath(), value), inside a
variable private ConcurrentHashMap<String, String> m_cache = new
ConcurrentHashMap<String, String> ();.

3 - Is this variable m_cache replicated between cluster nodes?

I need make job configuration to perform sitemap update (first test local
and then OCEE cluster)

4 - About operation of sitemap generation and cache operation in cluster
mode OCEE. The OpenCms is prepared to handle this situation of replication
of sitemap objects and caches, without I having to worry or do any manual
intervention in slave clusters (OCEE). I saw CmsXmlSitemapGenerator class
has a  function renderSitemap that stores the string in a Stringbuffer
variable. I have more than 100 thousand resources (news, for example) that
will be mapped, every time I restart the server, will opencms need to
generate this sitemap with more than 100 thousand resources? because I
didn't see any function that stores this cache physically on the server.

Thank you for advanced,
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opencms.org/pipermail/opencms-dev/attachments/20221024/7cd5f800/attachment.htm>


More information about the opencms-dev mailing list