cancel
Showing results for 
Search instead for 
Did you mean: 

Client Side caching (eTag) for standard gateway services

sud_pal
Explorer
0 Kudos

Gateway Experts,

I am working on HCM Renewal project which is based on UI5 and oData services. We see there is a performance issue while landing portal page and on further analysis it came to a point that standard gateway services are consuming most of time like LAUNCHPAD, PAGE_BUILDER_PERS. We are on Gateway 2 SPS09 .

I looked at 2014 SAP Dcdoe session on advanced gateway options especially eTag and soft-state . Although SAP has mentioned custom gateway services in their exercises I have enhanced these standard gateway services to activate soft-state caching and I do see difference in performance. Initially it was taking about 15-17 secs but now it gets loaded in 10-11 seconds on initial load and subsequent refresh of page are at 7-9 secs . We need more performance improvement and have to explore more options .


Questions   :


  • Did I do correct thing by enhancing standard services to activate soft-cache or that is not recommended ?


  • I want to implement eTag handling but how do I do it with standard services ? Is it possible ?  I may extend these services but I guess that would be a work to create new property for last modified as they don't have it now and also to write enhancements to populate this last modified in header and use it . Can anybody please guide how to do eTag handling for better performance on standard gateway services which are not having it already ?


  • I came across the following link, is this feasible for performance improvement on standard services . Which is recommended eTag or below ?


          Implementation Example - SAP NetWeaver Gateway - SAP Library


  • I do have option for $batch but that would need a technical design change so keeping it as last option but if you have any ideas please share.

Thanks & Regards

Sudarshan

Accepted Solutions (1)

Accepted Solutions (1)

kammaje_cis
Active Contributor
0 Kudos

Sudarshan,

I would suggest you to double check if standard services are indeed causing the performance issues. LAUNCHPAD and PAGE_BUILDER_PERS get data for a particular user, so there is definitely less data to be fetched compared to say a generic sales order, materials fetch.

To improve the performance using "Soft state" and ETag, it would require the backend code (DPC classes) to handle these cases. I am not sure if these service implementations were written to detect and handle  "Soft state" and Etag. May be they were delivered as part of SP9? So you may better check if that is the case.

Any Soft-state related performance improvement would cost you more server side resource consumptions (ex: keeping session active). So improvement in test systems need not indicate improvement in Production system (huge number of concurrent users, =>more sessions=>more server resource consumption). You might save on DB fetches but might block huge server resources.

"Last Modified" based client side cache can be definitely considered for fetching rarely modified application data (Master Data). But it too would require some changes to DPC class.

Regards

Krishna

sud_pal
Explorer
0 Kudos

Thanks Krishna for your helpful inputs.

Soft cache activation for these standard services is actually helping us so I believe it must be detecting it. But you are correct on server resources consumption and locking. We will be cautious about it by running some live tests with Basis and multiple users logged in. We will adjust session time out according to that.

We will work on enhancing data model and DPC for launchpad services for client side caching using eTags unless somebody from SAP monitoring this thread responds saying its going to come by SAP soon or if they have any other thoughts.

Thanks!

Sudarshan

Answers (0)