Вы находитесь на странице: 1из 4

TIBCO BusinessWorks Performance Tuning

The performance of software or applications installed in every system may vary according to
some aspects involved like the efficiency of the program and the specifications of the system.

The program may function very well but if the resource of the computer where it is installed does
not meet its minimum requirements then it will affect the functionality of the program and other
applications that may be running on the system. It may also slow down the computer.

There are also instances when the computer's resources are more than enough to be able to run
applications. But the issue here is that the resources of the computer is not fully utilized. You
may still be able to tune up your computer for better performance.

Upon installation and the use of the TIBCO BusinessWorks and its components, you may find
your applications functioning very well, but what you do not know is that you can still be able to
improve its performance. You may also have some negative issues depending on the computer
that you are using, but don't worry because there are ways to be able to modify some settings of
the TIBCO BusinessWorks so that it may be able serve your needs.

1. What TIBCO component is used for optimizing TIBCO BusinessWorks performance?

TIBCO Administrator is used for optimizing TIBCO BusinessWorks components. TIBCO


Administrator functions as a central server for administering different TIBCO components. This
tool can also be used for creation, deployment and management of applications.

To be able to access TIBCO Administrator's Interface, you need to use a web browser but before
that, you should first make sure that the TIBCO Administrator service and the TIBCO
Runtime Agent service for the domain that you will be using are both running.

Just for added information, TIBCO Runtime Agent (TRA) is needed so that you will be able to
create projects using the TIBCO Designer and deploy and manage them using the TIBCO
Administrator.

2. What is TIBCO ActiveMatrix BusinessWorks Engine?

TIBCO ActiveMatrix BusinessWorks Engine controls the execution of processes. These


processes have activites to be executed and a set of resources. The BusinessWorks Engine also
has other tasks such as management of connections, validation of data, managing and monitoring
of different services, and configuring logs.

3. What changes in the settings can be done to optimize TIBCO BusinessWorks Performance?

We can modify parameters such as max jobs, flow limit, step count, activation limit, thread
count, minProcessors, maxProcessors and accept count if we don't want all of our process
instances to be held in memory because generally, process instances created reside in the
memory of the computer.
Specifying a value in the max jobs means that the number of process instances in the memory
will not exceed this value. If the value set for the max jobs is already reached, then the process
instances created will be held on the disk of the computer, but they will be moved back to the
memory if the memory space is already sufficient.

If a value is set for the flow limit, then the number of process instances created will not exceed
this value. If this value is reached then the creation of process instances is suspended but the
process instances already in memory still continue to run. Creation of new process instances will
resume if the number of currently running process instances is more or less half the value set for
the flow limit.

The value for step count is the number of tasks that are executed successively by a thread before
it is released. However, this may not be true all the time because of some exceptions when the
job is blocked or the job is in a transaction. If the job is in a transaction and the step count has
already been exceeded, then the thread will still not be released until the transaction is
completed. On the other hand, if the process instance is in a blocked condition or is waiting for
an event then that process instance will be paged out to disk, and the memory space it was
consuming will be used to run other process instances.

Checking the option for activation limit means that if the process instance is in a blocked
condition, it will still stay in the memory and will not be paged out to disk until it is completed.
Having this option checked will greatly affect the performance of the engine because the process
instances in the memory may be waiting for an event indefinitely.

The thread count determines the number of process instances that can be executed at the same
time. The default value of this parameter is eight. Setting a different value for this parameter may
be done in a trial and error manner because different values have different pros and cons. If the
throughput is satisfactory but the system's resources are not fully used, then you can set this
parameter to a higher value; however, take note that if you specify a value that is too high it may
cause CPU thrashing behavior. On the other hand, if you set a value that is too low, it will
increase the use of memory but the throughput will be lowered and some of the system's
resources may not be utilized.

For processes that use HTTP connection, we can modify the minProcessors, maxProcessors,
and acceptCount parameters. The minProcessors which has a default value of ten determines
the number of threads that are initially created when the HTTP server starts. Setting a high value
for minProcessors may block some CPU resources because a large number of threads that may
not be necessary are created.

The maxProcessors which has a default value of 75 determines the maximum number of threads
that can be created by the HTTP server. Setting a high value for this parameter can increase
concurrency of executing process instances but the throughput for the process executions may
decrease. On the other hand, if the value for maxProcessors is low, then there is an increased
throughput but the number of processes executed concurrently will also be limited.
The acceptCount parameter which defaults to 100 determines the maximum number of
connection requests that are accepted when all the processors of HTTP are already running.
When the value set for this parameter is reached then all incoming requests are discarded. If you
set a low value for maxProcessors, then you can set a higher value in acceptCount so that
connection requests will not be rejected.

4. What modifications in the Java Virtual Machine can we do to optimize the BW engine's
performance?

Java Virtual Machine (JVM) is a set of applications that use a virtual machine to execute other
computer programs. For an overview, a virtual machine is an application that has the
functionality of running other applications just like a real computer. In TIBCO, the
BusinessWorks engine is running in a JVM.

You can configure the heap size for the engine by setting a minimum and maximum value.
These values determine the amount of memory to be used by the engine. You can also enable
garbage collection so that resources in the system that are no longer in use can be deleted.

5. What are the characteristics of activities in BusinessWorks and how will it affect the engine's
performance?

There are two types of activities in BusinessWorks. They can either be blocking or non-blocking
activities. This is determined based on how the activity functions with the thread.

Blocking activities are activities that are executed using the engine thread. This type of activity
may affect the engine's performance because if this activity is waiting for an event then the
engine thread will also be waiting for the activity to resume from its waiting state.

Non-blocking activities are activities that are executed using a private thread. This kind of
activity does not affect the engine's performance because when the activity is processing, it
switches to its own private thread. When it is done with its process, it will be fetched by the
engine thread that is currently running.

6. What are other factors that may affect the BW engine's performance? The other factors that
may affect the BW engine's performance are the following:

o If you are using enterprise messaging, then the number of incoming messages and the rate of
its creation in the messaging server may affect the engine's performance.

o If your application is connected to other third party applications, then the other applications
efficiency in processing may also affect the engine's performance.

o If your computer has other applications currently running or it is performing some update on
your system, it will also affect the BW engine's performance.
Using TIBCO makes developers very productive because it is easy to use and the development
of applications and business processes takes a less amount of time. Furthermore, it adds other
useful features and it can still be tuned up for better performance.

Вам также может понравиться