Question

10
Replies
2209
Views
ABHINANDAN Member since 2011 27 posts
Areteans Technology Solutions
Posted: 2 years ago
Last activity: 1 year 10 months ago
Closed
Solved

Steps to use partitioning in pega marketing

Our client's current pega marketing 7.12 on base pega 7.1.7 application has performance issues, as in to run a campaign and send offer SMS to a target customer population of 1.3 million it takes 7-8 hours may be more, no partitioning was implemented then.

So post upgarde to pega marketing 7.22 on base pega 7.3 we decided to use partition so to ensure parallel processing, we followed the below steps

1. We used database partitioning (underlying DB is oracle) for Customer table, Installed base table and defined 10 partitions in application settings, considering we will be having 4 jvms on two physical boxes hence 2*4 =8, hence kept 10 partitions, partition key ranging from 0-9 for both customer and Installed base.

2. Resaved all our existing segments, used partition keys in all data sets.

3. Added all the nodes in Data Flow service.

4. Also for Interaction history partitions we followed the instructions in the link https://pdn.pega.com/interaction-history-partitions/interaction-history… and defined around 16 partitions, partition key ranging from 0-15.

I have following questions

1. Are there any other steps we need to follow to implement for partitioning?

2. Should the partition range be kept same i.e 0-9 for Interaction history? I mean keeping different partition key range for Customer and Intercation history will it create any problem?

3. How to test if partitioning is working in development environment? In dev env we have two nodes, created a segment containing avg 100 customers belonging to different partitions, my expectation if I print customer id and partition keys in pega logs I will get half of the segment customer is will be printed in node 1 log and half in node 2 logs. But that's not how it's happening most of the time all the customer ids are printed in node 1 and some time few of them in node 2, some times I can see same customer ids are printed in both logs. Not sure how partitioning behaves, need some clarification, how to test the performance gains from it.

4. If partitioning works corrrectly as expected in production having 4 nodes, then can we expect 1/4 the time it takes currently to run a campaign for 1.3 million i.e 1/4 * 8 = 2 hours or less.

5. If tomorrow we increase number of nodes and want to increase partitioning range to 0-16, do we need to resave all segmemts(100+) again?

Regards

Abhi

Pega Marketing
Moderation Team has archived post
Share this page LinkedIn