Showing posts with label Performance. Show all posts
Showing posts with label Performance. Show all posts

Monday, 14 August 2017

Sling Resource API vs JCR API - Performance

Check the article to compare the performance when using Sling Resource API and JCR API.

This article illustrates different tests performed to compare the performance of sling resource api and jcr api.

Test 1: Traversing /content/geometrixx tree
Result: JCR API is roughly twice as fast as the Sling API when traversing a tree.

Test 2: Creating simple pages (single save)
When creating a 1000 simple pages and saving them in one go, it takes respectively 0.20 and 0.26 ms for the JCR and Sling API to create a single page. Creating 1000 pages took 200 and 260 ms respectively for JCR and Sling in total.






Saturday, 23 April 2016

Versioning ClientLibs in AEM

The Versioned ClientLibs ACS AEM Commons feature uses a Sling rewriter to add an MD5 hash to the paths of your clientlibs, forcing them to recache after every modification. Typically Adobe Experience Manager will use the lastModified property to determine when to recache, however versioned-clientlibs is a more reliable approach.
To implement the versioned-clientlibs feature, simply copy the node from /libs/cq/config/rewriter/default to some path inside your application. In this example, we’ll choose /apps/acslibs/config/rewriter. For the most part this path is arbitrary, however the config node must be inside a four-level-deep path that ends in config/rewriter to work.Read More
References:

Monday, 18 April 2016

Enable JS and CSS minification in AEM

The CQ "CQ Html Library Manager" component control the handling of client libraries (JavaScript, CSS) minification to remove CRLF and whitespace characters in order to reduce the size of the file. In Earlier version of CQ with minification enabled OR disabled, both the minified OR unminified library version has the same URL.  

This blog post will take you through the steps on how to enable minification.
You need to go to http://localhost:4502/system/console/configMgr. This is a configuration page listing all the services that has configurations. Just look for ‘HTML Library Manager’ and click it. You will see the configurations like following:




Saturday, 5 December 2015

Max number of users in CQ Publisher

There is no restriction on number of users in publisher. But if you have your users already outside, you can also have your own external login module for authentication and authorization. However, you need to ensure you are using AEM 6.0 or higher and Oak. With Jackrabbit/CRX 2, such scale was possible, but you do need to do some extra configuration if you have groups with thousands of members. Your post didn’t call this out specifically, but if you have tens of thousands of users, odds are you have some big groups 

Monday, 16 November 2015

How to find component load time on a page in AEM

You can use CQ timing info to get that data. timing load uses resource dumper https://sling.apache.org/apidocs/sling5/org/apache/sling/api/request/RequestProgressTracker.html to track load time of each jsp within page.

To enable debugging

version <= CQ5.6.1

1) Go to /libs/foundation/components/timing/timing.jsp through CRXDE light and comment following like of code

//uncomment the following to get more timing details in the page
out.println("\nRaw RequestProgressTracker data:");
StringBuilder mb = new StringBuilder();
Iterator<String> it = t.getMessages();
while(it.hasNext()) {
    mb.append(it.next());
}
out.print(mb.toString());
out.println("\nChartData dump:");
for(ChartBar d : chartData) {
    out.print(d.start);
    out.print(' ');
    out.print(d.fullname);
    out.print(" (");
    out.print(d.elapsed);
    out.println("ms)");
}

2) Make sure that timing.jsp is included in your global template using

<cq:include path="timing" resourceType="foundation/components/timing"/>

3) Load your page and do view source

4) Scroll down to bottom of page where you will see google chart URL



5) Copy that URL and paste it in browser to get timing info



CQ > 6

CQ 6 has this feature OOTB



Notes: Please also read http://dev.day.com/docs/en/cq/current/deploying/monitoring_and_maintaining.html to see how you can analyze request log to find page load time on server side. This is also very useful to find any thread contention issues wither using thread dump or session dump from felix console.

On client side there are different products you can use (I don't have preference) (AppDynamicNew Relic,Google Page SpeedGoogle Analytics etc) to find client side load time.

Friday, 13 November 2015

How to Start AEM/CQ5 Instance Without Sample Content

When you install a new instance of Adobe Experience Manager a bunch of content is provided as Sample content. 

You can remove sample content by 2 ways

1.     Run the CQ instance from the command line with the run mode nosamplecontent.

      For Author Instance

            java -server -XX:MaxPermSize=256m -Xmx1024M -jar aem-author-p7402.jar 
                  -r author, nosamplecontent

      For Publish Instance

            java -server -XX:MaxPermSize=256m -Xmx1024M -jar aem-publish-p7402.jar 

                  -r publish, nosamplecontent    

2.  You can  uninstall the cq-geometrixx-all-pkg-5.6.12.zip package, as described in

     Uninstalling Packages.


It is also a recommendation to Uninstall example content and users as part of the Adobe Experience Manager 5.6.1 Security Checklist specially in your Production environment

Command to Run AEM/CQ 5.6.1 Instance In Debug Mode

Command to run the CQ 5.6.1 in debug mode

                        java -Xmx1024M -XX:MaxPermSize=256M -debug -Xnoagent -Djava.compiler=NONE
            -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=30303 -jar cq-author-4502.jar 

Performance Issue In CRXDE IDE Of AEM/Adobe CQ5

After open the CRXDE.

Navigate to Window > General > Workspace > 

Uncheck Build automatically option.

Restart the CRXDE.