Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Optimizing Callidus TrueComp Suite: Tips and Tricks


Published on

presented at the TrueConnection 2008 Sales Performance Management Conference, hosted by Callidus Software

Published in: Business, Technology
  • 8 Simple Tips & Tricks To Extend The Life Of Your Car Battery.. ▲▲▲
    Are you sure you want to  Yes  No
    Your message goes here
  • I am a QA Engineer. I am looking for TrueComp testing best practices. Please share any knowledge on this if you have some.
    Are you sure you want to  Yes  No
    Your message goes here

Optimizing Callidus TrueComp Suite: Tips and Tricks

  1. 1. Optimizing TrueComp ® Suite Tips and Tricks David Ritson October 2008
  2. 2. Introduction <ul><li>Factors Involving Performance </li></ul><ul><li>Validate and Transfer Performance </li></ul><ul><li>Rule Performance </li></ul><ul><li>Classify Performance </li></ul><ul><li>Reset Performance </li></ul><ul><li>Balance and Payment Performance </li></ul><ul><li>Database Tuning </li></ul><ul><li>Questions </li></ul>
  3. 3. Factors Involving Performance Order of Investigation Increased Impact TrueComp ® Rules SQL Statements Java Distributed Processing and Network Database Schema Database Configuration File System and Operating System
  4. 4. Factors Involving Performance <ul><li>The way the rules are implemented is the biggest contributor to performance. This includes: </li></ul><ul><ul><li>Number of Objects created, Credits, Measurements and Incentives </li></ul></ul><ul><ul><li>Number of times the rules are evaluated </li></ul></ul><ul><ul><li>Complexity of Rules </li></ul></ul><ul><ul><li>Complexity and amount of Rollup and Rolldown </li></ul></ul>
  5. 5. Validate and Transfer Performance <ul><li>Consider the CommitSize parameter </li></ul><ul><li>The cleaner your inbound data is the better. TrueComp ® validation is expensive. </li></ul><ul><li>Solution Architecture has developed </li></ul><ul><ul><li>high performance Transaction loaders </li></ul></ul><ul><ul><li>Transaction loaders which can run in parallel to the pipeline </li></ul></ul><ul><ul><li>Parameter driven Transaction loader, where parts of the code can be turned off and on </li></ul></ul><ul><ul><li>We can tailor a loader to meet your needs </li></ul></ul>
  6. 6. Rule Performance <ul><li>Rule evaluation versus firing </li></ul><ul><li>Only create Credits and Measurements which you absolutely need for compensation purposes </li></ul><ul><li>When building rules remember that territory filters are evaluated before conditions. </li></ul><ul><li>‘ ECA’ is the fastest way to allocate credits from transactions </li></ul><ul><li>Always structure filters to hit the false condition as early as possible </li></ul>
  7. 7. <ul><li>Carefully evaluate your options for rolling data up and down the position. </li></ul><ul><ul><li>Consider using positionRelations to avoid levels of the tree </li></ul></ul><ul><ul><li>If you roll credit from A to B to C to D then a credit will be created for each position </li></ul></ul><ul><ul><li>Consider having a positionRelation from A to D </li></ul></ul><ul><ul><li>This also applies to the rolling of Measurements and Incentives in Reward </li></ul></ul><ul><ul><li>Use the Transaction Assignments to directly assign credits </li></ul></ul><ul><li>What is Island processing and why can it make Reward un-scalable? </li></ul>Rule Performance
  8. 8. Classify Performance <ul><li>Why does the design of my reference data effect this stage </li></ul><ul><ul><li>Most issues are seen in the example of ‘skewed’ classifier trees. For example the solution may have 20 classifier trees but 1 tree accounts for 95% of the classifiers </li></ul></ul><ul><ul><li>Oracle, especially has problems getting the explain plans correct in these cases </li></ul></ul><ul><li>What new features in 5.2 can help </li></ul><ul><ul><li>5.2 supports externalized Classification SQL. The SQL is written to a table from where it can be modified. Modification may include reordering the FROM list, adding hints </li></ul></ul><ul><ul><li>This makes all classification tunable </li></ul></ul><ul><li>What can be done if we are not on 5.2 (Oracle) </li></ul><ul><ul><li>A single database hint can be set which is applied to ALL of the classification inserts </li></ul></ul><ul><ul><li>Suggest that all classifier data is stored in the GenericClassifier table </li></ul></ul>
  9. 9. Reset Performance <ul><li>Reset performance is effected by the following factors </li></ul><ul><ul><li>Quantity of Results </li></ul></ul><ul><ul><ul><li>Credits </li></ul></ul></ul><ul><ul><ul><li>Measurements </li></ul></ul></ul><ul><ul><ul><li>Incentives </li></ul></ul></ul><ul><ul><ul><li>Trace records </li></ul></ul></ul><ul><ul><li>If Keep Posted Results is used </li></ul></ul><ul><li>What is deferred reset </li></ul><ul><ul><li>Credits and Trace records are marked as logically deleted </li></ul></ul><ul><ul><li>This has implications on database size. Regular cleanup pipelines should be executed </li></ul></ul>
  10. 10. Balance and Payment Performance <ul><li>Performance issues have been seen at customers which high volumes of generated balances </li></ul><ul><li>Balances are often generated for small amounts </li></ul><ul><li>The major impact is on the PaymentSummary stage which gets executed from Reset and Post </li></ul><ul><li>Solution Architecture have implemented procedures to cap or shut off small balances. </li></ul>
  11. 11. Database Tuning <ul><li>SQL tuning </li></ul><ul><ul><li>Majority of slow queries are fixed by </li></ul></ul><ul><ul><ul><li>Adding Indexes </li></ul></ul></ul><ul><ul><ul><li>Changing the query </li></ul></ul></ul><ul><ul><ul><li>There are queries which may get executed which are not needed by your implementation </li></ul></ul></ul><ul><ul><ul><li>Solution Architecture can help with any of these scenarios </li></ul></ul></ul><ul><li>Database tuning </li></ul><ul><ul><li>The database parameters need to be adjusted to your solutions data volume </li></ul></ul><ul><ul><li>A common example is parallel query settings </li></ul></ul><ul><li>What can a DBA do to help? </li></ul><ul><ul><li>Monitor the storage. One of the big issues we see is fragmentation at the table and index levels. This can be caught fairly easily and the object can be rebuilt to use optimal storage. </li></ul></ul>
  12. 12. Other new 5.2 features <ul><li>Data segmentation is available. This is really Oracle partitioning at the table and index level </li></ul><ul><li>Segmentation provides performance and data management </li></ul><ul><li>Allows for parallel pipeline runs </li></ul><ul><li>Solution Architecture has provided custom partitioning for pre 5.2 implementations </li></ul><ul><li>Some archiving proprosals are being built around partitioning </li></ul>
  13. 13. Questions