Skip to end of metadata
Go to start of metadata

Goals

For 2.3, a focused effort on KRAD will be undertaken to accomplish the following goals:

  1. Achieve exceptional performance for all views, based on benchmarks set by current KRAD applications
  2. Obtain performance from our test servers that is reflective of the application
  3. Establish QA processes for insuring performance stays within benchmarks as new development occurs

Once performance metrics and benchmarks are collected they will be documented and used to gauge progress. After each phase of work a new set of performance metrics will be collected.

Top Bottlenecks

Tuning needs to occur both with server side and client side code. A good amount of previous profiling has already been done to identify the bottlenecks server side:

Server Side

  • Spring bean creation (View)
  • Expression Evaluation
  • Cloning
  • Template Invocation

The majority of tasks will focus on lowering the costs of these functions. Also, the performance in these areas degrades quickly when using collections. Therefore initial efforts will focus on views with collections (although improvements here should bring improvements for non-collection views).

The major bottlenecks with client side code have not been identified yet. Therefore the first priority here will be to identify those and then explore potential fixes.

Work Breakdown

Performance Data Collection

The QA team will collect benchmark data from KRAD applications that will be used to guide the performance effort. In addition, the KRAD team will work with other applications to determine where the bottlenecks are and verify they are accounted for in the work plan.

Complete?

Server Tuning Phase 1
JiraDescriptionCompleted?
KULRICE-8431 - Data cannot be retrieved due to an unexpected error Perform expression function setup once per lifecycle(tick)

KULRICE-8929 - Data cannot be retrieved due to an unexpected error

KULRICE-8949 - Data cannot be retrieved due to an unexpected error

KULRICE-9774 - Data cannot be retrieved due to an unexpected error

KULRICE-9794 - Data cannot be retrieved due to an unexpected error

KULRICE-9803 - Data cannot be retrieved due to an unexpected error

Optimize template invocationIn Progress
KULRICE-9423 - Data cannot be retrieved due to an unexpected error Research string template method for global useIn Progress
KULRICE-8433 - Data cannot be retrieved due to an unexpected error Thin out view component graph(tick)
KULRICE-8797 - Data cannot be retrieved due to an unexpected error Reduce object creation in collectionsResearch Done, Holding on Impl
KULRICE-7005 - Data cannot be retrieved due to an unexpected error Server paging of collectionsIn Progress, for RC1

KULRICE-8957 - Data cannot be retrieved due to an unexpected error , KULRICE-8961 - Data cannot be retrieved due to an unexpected error ,

KULRICE-9422 - Data cannot be retrieved due to an unexpected error , KULRICE-9612 - Data cannot be retrieved due to an unexpected error

Improve Cloning Performance, Reduce CloningIn Progress, for RC1
KULRICE-8937 - Data cannot be retrieved due to an unexpected error , KULRICE-9042 - Data cannot be retrieved due to an unexpected error Remove view pooling and optimize Spring bean creationWork complete, needs patch applied, for RC1
Client Tuning Phase 1
JiraDescriptionCompleted?
KULRICE-9424 - Data cannot be retrieved due to an unexpected error Profile script execution to identify top bottlenecks(tick)
KULRICE-9594 - Data cannot be retrieved due to an unexpected error

Global handler for disclosure content

(tick)
KULRICE-7998 - Data cannot be retrieved due to an unexpected error Dirty field rewrite(tick)
KULRICE-9596 - Data cannot be retrieved due to an unexpected error

Investigate the feasibility and implement aaData for other richTable based tables other than LightTable

(tick)
KULRICE-9595 - Data cannot be retrieved due to an unexpected error

Avoid running scripts on non-visible content 

(tick)
KULRICE-9597 - Data cannot be retrieved due to an unexpected error

Script logic performance pass  

 
KULRICE-9598 - Data cannot be retrieved due to an unexpected error

Validation framework improvement to cut data that is determined to be default 

(tick)
KULRICE-9599 - Data cannot be retrieved due to an unexpected error

Validation framework improvement for handling collections differently 

(tick)
KULRICE-9600 - Data cannot be retrieved due to an unexpected error

Cut marker spans when not used 

 
Performance Monitoring
JiraDescriptionCompleted?
 Create automated tests against slow viewsIn Progress
 Setup monitoring and alerts in AppDynamicsIn Progress
KULRICE-9613 - Data cannot be retrieved due to an unexpected error Document performance best practices for applications to follow 
Test Environments
JiraDescriptionCompleted?
KULRICE-9429 - Data cannot be retrieved due to an unexpected error Profile Kitchen Sink pages using App DynamicsIn Progress
Consulting

Work with consultants to fine tune and determine optimal deployment configuration.

Complete? (tick)


Server Tuning Phase 2
JiraDescriptionCompleted?
KULRICE-8798 - Data cannot be retrieved due to an unexpected error Research multi-threading in lifecycle 

KULRICE-8946 - Data cannot be retrieved due to an unexpected error , KULRICE-8955 - Data cannot be retrieved due to an unexpected error ,

KULRICE-8956 - Data cannot be retrieved due to an unexpected error , KULRICE-8958 - Data cannot be retrieved due to an unexpected error ,

KULRICE-8954 - Data cannot be retrieved due to an unexpected error , KULRICE-9041 - Data cannot be retrieved due to an unexpected error ,

KULRICE-9045 - Data cannot be retrieved due to an unexpected error

Apply contributed performance patches 

KULRICE-8298 - Data cannot be retrieved due to an unexpected error

Add caching to KRAD services where possible 
KULRICE-9993 - Data cannot be retrieved due to an unexpected error Remove initial build of table details 
KULRICE-9431 - Data cannot be retrieved due to an unexpected error Add options to disable lifecycle features 
KULRICE-9432 - Data cannot be retrieved due to an unexpected error View lifecycle code optimization 
KULRICE-9433 - Data cannot be retrieved due to an unexpected error Reduce size of response (optimize markup) 
KULRICE-9434 - Data cannot be retrieved due to an unexpected error JVM Tuning 
KULRICE-9651 - Data cannot be retrieved due to an unexpected error Documentation 

Scheduling

  • No labels