Fiori performance is a hot topic in every implementation, we’ve gone a long way from the first release of Fiori to the latest version in S/4HANA and so has the products performance evolved.

Understanding the overall architecture of the solution is key to identify performance issues because in the Fiori architecture, your browser is directly accessing the back-end via each Fiori tile. Each tile on the FLP is making numerous calls to (and receiving) data from the server, which can cause latency issues.

Note that when referring to the backends in the S/4HANA model we are talking about the integration between 3 main components: Web Dispatcher, Frontend Server, and Backend Server so, depending on the network configurations of these servers, network performance issues may arise.

As you can imagine, you will find some cases where performance issues may go deep into code or network debugging, however, there are some quick actions you can take in every project to ensure the best performance of your Fiori Launchpad (FLP).

We will list some performance tips and tricks for all your current implementations:

1. Use what you need

As part of the Fiori UX design guidelines it is recommended you limit access to the tiles that are needed for each user role. The more tiles you have on your FLP, the longer it will take to load. To lessen any latency issues, only add the tiles you need.

It is recommended that you do not exceed 7×7 (49 tiles) per FLP group, also notice the more catalogs you have assigned, the longer it’s going to take to load the home screen.

To make sure you get users what they need we recommend going through Design Thinking workshops at the early stages of the project, in order to build “Personas” which will later help you define the required business roles.

2. All tiles are not equal

There are three types of tiles – KPI, dynamic, and static. The KPI and dynamic tiles have a bigger impact on bandwidth, as they are in constant communication with the back-end servers to update. The static tiles do not change; once they are loaded onto the FLP, they are not making any additional “calls” to update.

UPDATE – Analytical apps in S/4 HANA may cause expensive analytical queries to be executed in SAP HANA. While with SAP HANA incredible on-the-fly calculations are possible, there are still some boundaries in the amount of data that can be processed in a reasonable time.

One of the new features in Fiori 2.0 is Tab Bar Navigation, this feature changes the interaction of the end user with FLP as tiles are displayed per group. This setting can be switched on for all users by the system administrator or enabled through user personalization.

One of the main reasons for slow performance is the fact that the SAP UI5 libraries are located in the ABAP Front-end Server (FES), when the Fiori web page is rendered it needs to make a call to the ABAP FES to load the JavaScript libraries. In high-latency networks this results in high rendering time lapses which affect end-user performance.

One way to overcome this situation is to load UI5 libraries from a Content Delivery Network (CDN, Akamai) which enables users to load the UI5 libraries from a network server closest to their current location.

Also try running report /UI2/NWBC_DELETE_MENU_CACHE every now and then as you may find wrong entries in table /UI2/NWBC_NAV_TR (column NWBC_VERSION will have the value “LOADING”).

UPDATE – As of August 25th, 2017 you no longer need to update the entire kernel package.

A new package, called sapwebgui, is now delivered. It contains only the WEBGUI related files.

If you have interest in this new approach, then you can find more information in KBA 2221289 (How to install package sapwebgui).

7. Improve OData performance

OData performance is usually good, in some very specific cases you will find that OData requests execution time is longer than expected. This will usually occur for OData services that expose very large data sets. If this is the case, you can try configuring OData services in Co-deployed mode.

Ensure browser cache settings are optimized for maximum performance and try not to use any settings that bypass the browser cache, for example:

Do not run the Fiori Launchpad in private mode

Select a sufficient cache size limit

Do not clear the cache history automatically when the browser closes

Enable browser caching

Do not disable the browser cache in the browser developer tools

Enable HTTP compression

You can find a detailed how-to document describing these settings in all three major browsers (Chrome, Firefox, Internet Explorer) in note 2447857

9. Get the right certificates (SSL)

Are you using HTTPS communication? Make sure it is correctly setup, you can monitor this in the browser’s developer tools in the network tab.

If you are using self-signed certificates or your certificate has not been signed by a valid Certificate Authority (CA) you will face performance issues as any error with the certificate means that the webpage will not be cached.

You can find additional details of this bug here and here. Also note that versions 58 or higher of Chrome now mandatorily require that the SAN (Subject Alternative Name) field of the server’s SSL certificate is correctly populated, you’ll find the detailed issue and resolution in this blog.

10. Still facing performance issues?

Take a look at note 2471635, you will find some common performance issues and their solution. Note that some solutions may require additional development efforts.

Thanks for the wonderful blog. Smriti, I liked your comment on what you have described SAP Fiori. Here are some of my comments, As with SAP Fiori implementation, you can empower your employees with instant business insights and information for better and faster decision-making and enhanced performance.

Thanks for reverting on my query. As we are making just a proof of concept, we are having an embedded system and also aren’t using webdispatcher. Is SSL certificate a must for running transactions from User Menu.

Also could you pls tell, which functionalities we would be missing without webdispatcher. I understand the help functionality is not possible without webdispatcher. Is Jam integration possible without a webdispatcher?

Thanks for the reply, it was a problem with HTTPS connection, HTTPS connection for system alias was not created. Now the transactions over User Menu and SAP Menu are working. But I am not able to see all the folders in SAP Menu, For eg. Logistics and Accounting in SAP Menu are not appearing. Can you pls suggest something on this?

Where does this screenshot come from exactly? You’ve not given us many clues.

Firstly – questions like these are NOT performance questions – they are configuration questions. Please don’t add random questions to blogs – you are likely to be reported to a moderator for breach of SAP Community rules of engagement