Distributing query workload by deploying multiple Lifecycle Query Engine servers
By deploying multiple Lifecycle Query Engine
(LQE) instances across a set of servers, you can distribute the query workload and improve performance
and scalability. Each LQE instance
requires its own relational database and contains its own independent triple store index, which
indexes the tracked resource set (TRS) data providers that you specify on the LQE
administration page. Configure each LQE instance
to index the same set of data sources.
Because each LQE instance
indexes data sources separately, adding additional LQE instances
puts extra load on your other applications. You should deploy as few LQE instances
as possible to handle the normal query workload. Consider improving the performance of an existing
LQE
instance by adding additional memory or CPUs instead, because it does not increase the load on the
data sources. If you deploy additional LQE
instances, consider increasing the memory or number of CPUs for the data sources to handle the
increased load.
About this task
- If you are deploying LQE on WebSphere® Application Server, you must update the application server configuration to include a few custom properties. See Step 4. Optional: Configure WebSphere Application Server for load balancing.
- When you upgrade the application, you must stop all the servers and upgrade each one separately. See Migrating Lifecycle Query Engine.
- Since the different LQE servers have their own independent TRS feeds, it is possible that one LQE server might have a different set of data, for a certain time period, compared to the other LQE server. Load balancing might have a report query run against the first LQE server with data set 1 and then later against the second LQE server with data set 2. If data set 1 and data set 1 are not the same, the report results are different. Typically, the two data sets are different for a short period of time.
Procedure
- Set up the first LQE server.
- Set up additional servers.
- Set up a load balancer.
- Optional: Configure WebSphere Application Server for load balancing.
What to do next
Step 1. Set up the first LQE server
Procedure
Step 2. Set up additional servers
You will need a backup from your original LQE server to configure additional servers. To configure an LQE backup schedule, see Backing up and restoring Lifecycle Query Engine.
A backup contains all the metadata in LQE and a copy of the indexed data. You can use the backup files to install another LQE server that has a copy of the indexed data.
Procedure
Step 3. Set up a load balancer
After you set up the Lifecycle Query Engine nodes,
you must set up a load balancer to handle the query workload.
Procedure
Step 4. Optional: Configure WebSphere Application Server for load balancing
If you use Lifecycle Query Engine with
WebSphere Application
Server, you must set three custom properties for the application server. These custom properties are
required to pass host port information through the load balancer proxy. By default, WebSphere Application
Server reads
the port number from the request URL instead of from the HTTP header. These properties override the
default.
