Performance Enhancement on People Profile Page Inital Load
Performance is always an important user experience for our product and is a continued investment area of SAP SuccessFactors.
People Profile is a popular page of SAP SuccessFactors, a starting point for employees and managers to complete their tasks. To help our customers improve their work efficiency as well as user experience, we’ve been doing a lot of work to enhance the People Profile page’s performance for the past few years, for example, adding cache for photo and other resource files, which helps to reduce the response time when loading the page.
In the First Half 2022 Release, we’ve optimized the initial page load of People Profile. The overall optimization is around 16% on the response time of initial load on People Profile page. Note that the optimized page load time varies from instance to instance due to different configurations in People Profile.
How It Works and Where We Improved
The Time to Main Content Load (TML) for People Profile page consists of the five steps below:
- Loading the index page (xhtml)
- Loading resource files, for example, UI resource files like css, js, images, etc
- Loading People Profile page header, including photo, name, and email
- Loading People Profile page configurations, including general setting, Sections, Subsections, and Blocks
- Loading the first batch of configured blocks (normally the first 3 blocks) in People Profile
The duration of the first four steps doesn’t differ among instances, but the last step may obviously impact the overall time spent due to the complexity and various configurations of the first three blocks.
What we optimized is the second step of loading resource files: the estimated performance improvement is around 40% with loading resource files, according to our internal testing data.
To help you better understand the performance improvement from the user experience perspective, we select a relatively common instance as the baseline example.
In this dedicated instance, the first three blocks configured in People Profile page are User Information block (configured with 10 fields) plus two Background Information blocks (configured with 10 fields and each of them contains 10 records).
With several rounds testing, we see that the estimated proportion for all the steps is respectively around 20%, 40%, 10%, 20% ,10% in the sample instance.
Result: After the page load enhancement, we saw the overall TML performance is improved by around 16%.
- The observed data from the internal environment after the enhancements as of March shows average TML and average total request number have decreased. See Chart 1, 2, 3 for details.
Chart 1 Average time of main content load time
Mar. avg(TML) is decreased by 35.48% compared with that in Jan. and Feb.
Chart 2 Average total requests number for total main content
Mar. avg(reqNum) is decreased by 7.00% compared with that in Jan. and Feb.
- One of the major requests in People Profile is getHeader.dwr, which is the first data request(in above step 3) to get meaningful page content after all the resource files have been loaded(the above step 2) for People Profile. From the below chart, we see an obvious decrease in the time of it takes to send this request after the enhancement (Before in blue, after in red).
- Rounds of tests have been conducted on TML. According to the below data, we see an obvious decrease in TML after the enhancement (Before in blue, after in red).
It is the first step on our journey to continuously improve the initial page load performance of People Profile page. We plan to continue to work on this in future releases.
Please subscribe to this post and let us know your questions, comments, and suggestions on the topic.