Expand my Community achievements bar.

SOLVED

AEM6.5 how to decide on publish instance required

Avatar

Level 8

Hi,

 

We would need to get a website which would be responsive and also works on mobile application (say we download from google play store)

 

If this is the case what all parameters should be considered so that  based on that how many publish and author instance and dispatchers how could be consider that needs to added??

 

Could you please provide inputs as how to go about this.

 

Regards,

Srinivas

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

This is not so simple, and you can not expect to get any reasonable suggestion by just giving some figures, unfortunately this does not work like this.

Do not get me wrong, but numbers you have shared means nothing. Because what does it exactly mean 100k per day? How it will distribute during the day? Can you expect some load picks. How this load will be distributed across pages? What percent of your pages you expecting to be fully cached etc.

This is really complex topic - which requires lots of data, or at least set of assumptions, and time to do it correct. In other words this is typical work for architect

I think standard AEM setup which is one author and two publish instance is always a good starting point. Keeping in mind that this could not be enough, and in the future you will need to revisit your setup.

What I would suggest is to have a proper performance/load test plan with real use cases, and run those tests as a regular manner - this will allow you to monitor, if implementation of your project is going fine in terms of performance that you will get on specific setup.

From my point of view, increasing number of publish instance should be the last step, assuming all other activities like code optimizations, additional cache layers etc did not bring expected results.

I can recommend to think carefully what should be done on AEM and what should be handled outside. One of the main issue I spot on many AEM projects is to try implement everything on AEM. This is basic architectural mistake. Middle layer or other solution could bring brilliant results even with very basic AEM setup - but again - how exactly your system architecture should looks like also regarding AEM part is a combination of multiple factors, requires some detailed analysis, and sometimes compromise.

View solution in original post

4 Replies

Avatar

Community Advisor

Hi @srinivas_chann1,

The inputs data you have provided are very generic. Nevertheless in my opinion regarding infrastructure setup number of publishers etc, mostly rely on below aspect:

  • is your content will be dynamic or static - static content will guarantee higher cache ration - so traffic mainly will by handled by dispatcher - in theory less you can cache, more publishers you need
  • traffic - how may page views per second needs to be handled by the platform, how many users at once should be supported
  • whether platform providing content only locally (country) in region or maybe worldwide - knowing this and two above will tell you if you should consider CDN - but this will be relevant for static content mostly
  • how content will be served - is it HTML pages - which needs to be server side rendered or is it pure data only (headless) - base on information you have provided I would consider hybrid option - static HTMLs for web (but this also could be SPA that will use headless as well) and headless for mobile app
  • in terms o authoring, this will depend on number of concurrent authors, and activities that will happen, e.g. heavy workflows, replications, some processing like rendition generation etc

Please also have a look into below sizing guideline:

Avatar

Level 8

Hello,

 

Thanks for the input.

Incase we have 100k hits per day and out of which 50k are for anonymous user and 50k hits for login based.

 

Then please suggest how much aem publisher and author will be required.

 

 

Avatar

Correct answer by
Community Advisor

This is not so simple, and you can not expect to get any reasonable suggestion by just giving some figures, unfortunately this does not work like this.

Do not get me wrong, but numbers you have shared means nothing. Because what does it exactly mean 100k per day? How it will distribute during the day? Can you expect some load picks. How this load will be distributed across pages? What percent of your pages you expecting to be fully cached etc.

This is really complex topic - which requires lots of data, or at least set of assumptions, and time to do it correct. In other words this is typical work for architect

I think standard AEM setup which is one author and two publish instance is always a good starting point. Keeping in mind that this could not be enough, and in the future you will need to revisit your setup.

What I would suggest is to have a proper performance/load test plan with real use cases, and run those tests as a regular manner - this will allow you to monitor, if implementation of your project is going fine in terms of performance that you will get on specific setup.

From my point of view, increasing number of publish instance should be the last step, assuming all other activities like code optimizations, additional cache layers etc did not bring expected results.

I can recommend to think carefully what should be done on AEM and what should be handled outside. One of the main issue I spot on many AEM projects is to try implement everything on AEM. This is basic architectural mistake. Middle layer or other solution could bring brilliant results even with very basic AEM setup - but again - how exactly your system architecture should looks like also regarding AEM part is a combination of multiple factors, requires some detailed analysis, and sometimes compromise.

Avatar

Level 7

As others suggested there are many things you need to consider for calculating how many Publish server is needed. 

Cache efficiency is crucial for the website speed

Complexity of Templates & Applications

    complexity = applicationComplexity + ((1-cacheRatio) * templateComplexity) 

Based on the complexity, you can determine the number of servers (or CPU cores) you need for the publish environment as follows:

n = (traffic * complexity / 1000 ) * activations

If you have a more complex website, you also need more powerful web servers so that AEM can answer a request in an acceptable time.

  • Complexity below 4:
    • 1024 MB JVM RAM*
    • Low to mid-performance CPU

  • Complexity between 4 and 8:
    • 2048 MB JVM RAM*
    • Mid to high-performance CPU

  • Complexity above 8:
    • 4096 MB JVM RAM*
    • High to high-end-performance CPU

In addition to this , there are other usecases which can contribute to this

Asset-specific consideration

MSM

AEM Communities

Refer for more information - https://experienceleague.adobe.com/docs/experience-manager-65/managing/managing-further-reference/ha...