Showing posts with label Performance Tuning. Show all posts
Showing posts with label Performance Tuning. Show all posts

Wednesday, December 2, 2015

Limiting Inbox search result for IBM BPM

sometimes if we have lots of instances assigned to a user or usergroup then refreshing inbox for user become very slow as IBM BPM tries to get details about all cases and it might take upto 10 minutes.

This performance issues is due to large number of cases so there are only two solutions,
1.) close the cases and keep only required cases open and available, which does not work in all scenarios
2.) limit the number of instances fetched by a saved search/inbox in IBM BPM Portal. which can be done by below steps.

-> In newer version this value is by default set to 500 which is good and you might need to make it higher if you want to see more instances in result.

Optimize the number of loaded search result entries

You can optimize the number of retrieved results entries of your saved searches.
The saved searches are optimized to process 500 result entries. The displayed pages of the result contains up to 500 entries, which are retrieved from the server. In addition, the total number of entries is displayed.
If you expect more than 500 records for a call, for example, if you are using the TWSearch function or the saved search in an API format, you can increase this number.
To retrieve a different number of entries, complete the following steps:
  1. Insert the following section into the 100custom.xml file:
    <properties>
        <server merge="mergeChildren">
      <process-search-engine-count-optimization merge="replace">500</process-search-engine-count-optimization>
           </server>
    </properties>
  2. Adjust the 500 value to meet your needs. The larger the value, the more memory and time is needed to retrieve the entries.
  3. After saving changes to the 100custom.xml file, restart the server.


You can find more details about his in blow tech-note by IBM

Monday, November 2, 2015

IBM BPM - Deactivating Dynamic Group(type 4) Update - Performance improvement specially while login

What are Dynamic Groups?
Dynamic groups are created whenever a team or a task assignment is created using an expression. These expressions select users based on user attributes, group membership, and various other criteria. As a result, a dynamic group is created in the database. They are also known as Type 4 groups or in LSW_USR_GRP_XREF they will be having value of group_type = 4

Why Dynamic Groups get updated?
As mentioned earlier Dynamic Groups are set of other type of groups which includes external groups. so whenever any external or security gets updated, dynamic group also needs to get updated in order to be in sync with other groups.

When are dynamic groups updated?

There are several triggers that can cause dynamic group updates:
  • When IBM Business Process Manager internal groups or a member of an internal group are updated in the Process Admin Console.
  • When a user logs in to a IBM Business Process Manager web interface, the external group membership is replicated based on the external security provider settings. If changes are detected, dynamic groups are recalculated.
  • When a user updates user attributes in the Process Admin Console or while using a REST API.
  • During task creation using dynamic group expression.

Configuring IBM Business Process Manager to deactivate dynamic group updates

Modify the 100Custom.xml configuration file to deactivate updates for the specified triggers, as shown in the following example:

<properties>
<server merge="mergeChildren">
<update-dynamic-groups-on-login>false</update-dynamic-groups-on-login>
<update-dynamic-groups-on-task-creation>false</update-dynamic-groups-on-task-creation>
<update-dynamic-groups-on-uadchange>false</update-dynamic-groups-on-uadchange>
</server>
</properties>

Thursday, May 28, 2015

All you want to know about IBM BPM Event Manager - Performance tuning


If anything most irritating in IBM BPM product is its lake of documentation of user manual for the product. I have spend long time on finding information about different component of IBM BPM and believe me its bit tough to find good article or manual. 

Yesterday, I found a very good article on IBM BPM Event Manager by BP3 and it has almost everything we want to know about IBM BPM Event Manager.

Which includes topics like below.

Event Manager Design

In the Event Manager (EM) design the database the master of everything.
The important Event Manager related table in BPMDB are:
lsw_em_instance - A row for each EM scheduler.
lsw_em_task - A row for each non-completed task, includes a reference to lsw_em_instance to indicate which scheduler owns each task.
lsw_em_task_keyword - One-to-many table mapping a task to its associated keywords
lsw_em_sync_queue - A row for each sync queue, includes a reference to lsw_em_instance to indicate which scheduler owns each sync queue.
lsw_uca_blackout - A row for each blackout period, including the next transitions into and out of blackout
The database knows what schedulers exist, what sync queues exist, what tasks exist, what states the tasks are in, etc. So, basically Event Manager uses the database’s transaction guarantees as much as possible to ensure a consistent view across all machines in a cluster. In addition, Event Manager uses the database’s system clock as the master, to avoid problems with time-syncing among machines in a cluster.
You can find full Article at below link which is very informative and intresting. 

Tuesday, December 16, 2014

IBM BPM Instrumentation Page - A very good way to Monitor IBM BPM


Instrumentation Explained for IBM BPM.

What is Instrumentation?
How to use Instrumentation?
What all we can monitory using Instrumentation?

If you have above or similar kind of question, you should visit the post written by  Sergei Malynovskyi in BP3 Portal. It is really well written post.

Best thing to take from the post is how to see extended data in instumentation monitor page. 

If you dont know it already, it will open whole new world of monitoring you can do for IBM BPM. You can also visit below Tech Note for more details.