IBM License Metric Tool: Tuning Performance Guide

IBM License Metric Tool
Version 9.0 (includes version 9.0.1, and
Tuning Performance Guide
IBM License Metric Tool
Version 9.0 (includes version 9.0.1, and
Tuning Performance Guide
Tuning Performance Guide
This edition applies to IBM License Metric Tool version (product number 5724-T40) and to all subsequent
releases and modifications until otherwise indicated in new editions.
© Copyright IBM Corporation 2002, 2014.
US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract
with IBM Corp.
Tuning performance
You can use the information in this section to identify and
resolve the primary system bottlenecks in your
environment. The tips and performance recommendations
can be used both in big data environments and in smaller
environments that are running on low-performance
The main factor that affects the performance of the License Metric Tool server is
the performance of the underlying infrastructure on which the application server
and the DB2 database are running. You must ensure that the recommended
requirements are met.
Important: The official hardware recommendations were prepared with
assumption that the License Metric Tool server is running on a dedicated physical
server or servers. If virtual machines are used, the specified hardware (processor,
RAM, or disk space) must be exclusively dedicated to those virtual machines – not
shared with any others.
Even if you meet the recommended requirements, the application might work
slowly because of issues with the underlying hardware. The issues might be
caused by, for example, sharing resources with other machines within the virtual
environment. You can run some diagnostic methods to ensure that the underlying
infrastructure is in good shape.
Memory performance
RAM performance metrics such as seek time or memory bandwidth, are strictly
dependent on the memory type, which is linked with the processor type.
Restriction: Do not run your server on a virtual machine for which memory
compression was enabled, for example in x86 virtualization that is provided by
VMware. It is especially true in case of the computer on which the DB2® database
is running.
Pay particular attention to the amount of memory that is available for License
Metric Tool and the DB2 application. It is important to monitor the RAM usage on
a daily basis because memory usage differs greatly depending on how the
application is being used. The main factors besides the environment size include:
v The number of concurrent web UI users
v The frequency of data imports
Memory monitoring is especially important on the database computer as
insufficient amount of RAM can significantly slow down background tasks, such as
PVU data aggregation because of memory swapping. Swapping, also known as
paging, is the use of secondary disk storage to store and retrieve application data
for use in RAM. It is automatically performed by the operating system and
typically occurs when the available RAM is depleted. Swapping can have a
© Copyright IBM Corporation 2002, 2013 © IBM 2002, 2014
significant impact on DB2 performance and should be avoided. To avoid
swapping, ensure that sufficient RAM is available on the computer so processes do
not consume all the available RAM. Use the following Linux tools to monitor RAM
usage and memory swapping:
v top
v free
v vmstat
v or sar
If you notice that there is almost no free memory available to License Metric Tool
and the DB2 processes are being swapped to disk, the best solution is to increase
the RAM memory size.
Storage performance
To ensure good performance of License Metric Tool, it is essential to have good
storage performance on the database server computer. The storage performance of
the License Metric Tool server alone is not that important.
The recommended average disk speed for the database server computer is
specified in the following table.
Table 1. Recommended average disk speed for the database server computer in specific
Deployment Size
Disk Speed
Small (up to 5000 endpoints)
100 MB/sec
Medium (5000 - 30000 endpoints)
250 MB/sec
Large (more than 30000 endpoints)
400 MB/sec
Running hard disk tests
On Linux, you can use the hdparm and dd commands or the Bonnie++ application
to determine the hard disk write rate. You can also use the iostat command to
determine average disk usage.
Determining the write rate with the hdparm command:
In the Linux operating system, there is a built-in hdparm command that can be used
to determine the hard disk write rate.
In the Linux console, enter hdparm -t path_to_the_test_file
hdparm -t /dev/sda1
Timing buffered disk reads: 200 MB in 1.19 seconds = 167.47 MB/sec
Running the disk test with the DD application:
About this task
The DD test measures the most basic single-threaded disk access: a large sequential
write, followed by a large sequential read. It is relevant for the database
performance testing effort because it gives you the maximum speed for sequential
scans for large tables.
IBM License Metric Tool: Tuning Performance Guide
Note: Check the RAM size on the testing computer to correctly run a DD test and
avoid file system caching that can distort the test results.
1. Create a file that is twice the size of the RAM capacity on the test computer
and copy it to the target computer hard disk.
In your tests use a 4 KB block size because the default page size of the DB2
table space that License Metric Tool is using is 4 KB. For example, if you have
16 GB of RAM, run the following command so that a 32 GB file named ddfile
is created in the current directory:
time sh -c "dd if=/dev/zero of=ddfile bs=4k count=8000000 && sync".
Note: Some implementations of DD report the write rate, but the time
command always returns the execution time that is larger than the DD time.
The time and rate reported by DD represent the rate without any lag or
synchronization time. Divide the data size by the time reported by the time
command to get the real synchronous file writing rate.
8000000+0 records in
8000000+0 records out
32768000000 bytes (32 GB) copied, 38.924 s, 842 MB/s
real 3m49.192s
user 0m0.450s
sys 0m38.282s
In this example, the rate for writes including caching is 842 MB/s, but
including the synchronization time it is much poorer – only about 136.46 MB/s
(32 GB / 3 minutes 49 seconds).
2. To flush out the file system cache so that you read directly from the disk later,
write to the disk another large file: dd if=/dev/zero of=ddfile2 bs=4k
3. Read the first large file. Since the file system cache is filled with the second file,
this test returns a valid read rate result:
time dd if=ddfile
8000000+0 records
8000000+0 records
32768000000 bytes
real 3m6.496s
user 0m1.652s
sys 0m10.753s
of=/dev/null bs=4k
(32 GB) copied, 186.456 seconds, 167.6 MB/s
4. Compare the results with those in the table Recommended average disk write
and read rates for the database server computer to determine whether your
storage can handle the DB2 database for your environment. The system should
easily be able to deal with a database of up to 10000 clients.
Determining disk usage:
If response times are slow, check the average disk usage with the iostat
command. Disk usage times of greater than 80% can reduce I/O performance, it is
desirable to have average disk usage below 40%.
In the Linux console, enter iostat -x interval duration
Tuning performance
v interval Is the time interval in seconds. If no interval is specified, the output
reflects the values over the entire period since the system was rebooted
v duration Is the number of times to run the command
iostat -x 30 5
Tuning performance in big data environments
You can learn the possible causes of the most common performance issues in big
data environments and known solutions to these issues, together with several
general tips that help you to keep the system in good shape and avoid
performance problems.
Database maintenance
See the topic Maintaining the database to learn more how to manually maintain
the database tables. It is also possible to maintain the tables automatically by using
the built-in DB2 mechanisms.
Scalability of multiple concurrent UI users
Concurrent users can work on the License Metric Tool web UI, but their number is
limited for performance reasons. The application should be able to handle
performance load from two concurrent web UI users when it is running on the
hardware that meets the minimal hardware requirements. To be able to handle
more than two concurrent web UI users, the underlying hardware must meet the
recommended hardware requirements.
Configuring the transaction logs size
If your environment consists of many endpoints, increase the transaction logs size
to improve performance.
About this task
The transaction logs size can be configured through the LOGFILSIZ DB2 parameter
that defines the size of a single log file. To calculate the value that can be used for
this parameter, you must first calculate the total disk space that is required for
transaction logs in your specific environment and then divide it, thus obtaining the
size of one transaction log. The required amount of disk space depends on the
number of endpoints in your environment and the number of endpoints for which
new scan results are available and processed during the data import.
Important: Use the provided formula to calculate the size of transaction logs that
are generated during the import of data. More space might be required for
transaction logs that are generated when you remove the data source.
1. Use the following formula to calculate the disk space for your transaction logs:
<The number of endpoints> x 1 MB + <the number of endpoints
for which new scan results are imported> x 1 MB + 1 GB
2. Divide the result by 0.00054 to obtain the size of a single transaction log file.
3. Run the following command to update the transaction log size in your
database. Substitute value with the size of a single transaction log.
IBM License Metric Tool: Tuning Performance Guide
4. For the changes to take effect, restart the database. Run the following
5. Restart the License Metric Tool server.
a. To stop the server, run the following command:
/etc/init.d/SUAserver start
b. To start the server, run the following command:
/etc/init.d/SUAserver stop
v Calculating the single transaction log size for 100 000 endpoints and 15 000 scan
100 000 x 1 MB + 15 000 x 1 MB + 1 GB = 114 GB
114 / 0.00054 = 211111
Increasing Java heap size
The default settings for the Java heap size might not be sufficient for medium and
large environments. If your environment consists of more than 5000 endpoints,
increase the memory available to Java client processes by increasing the Java heap
1. Go to the <INSTALL_DIR>/wlp/usr/servers/server1/ directory and edit the
jvm.options file.
2. Set the maximum Java heap size (Xmx) to one of the following values,
depending on the size of your environment:
v For medium environments (5000 - 50 000 endpoints), set the heap size to
v For large environments (over 50 000 endpoints), set the heap size to 8192m.
3. Restart the License Metric Tool server.
Maintaining the database
To ensure that the DB2 database works properly, you need to regularly back up
your data and perform maintenance actions.
About this task
The configuration of DB2 has a significant impact on performance. You should
perform some standard actions to administer the database correctly. If you have
DB2 administration professionals, they can monitor the DB2 health and
performance. In other cases, you should follow the procedures that are described
in this topic to keep your database healthy.
1. Perform regular backups of the data that is stored in the database. It is
advisable to back up the database before updating the software catalog or
upgrading the server to facilitate recovery in case of failure.
a. Stop the server.
Tuning performance
b. In the DB2 command-line interface, run the following command: db2 backup
database SUADB.
c. Start the server
The backup is created in the current working directory, and the file name
contains the instance name and time stamp of the backup procedure (for
example: TLMA.0.db2inst1.NODE0000.CATN0000.20101105000715.001).
For more information about database backup strategies, see DB2 topic:
Developing a backup and recovery strategy.
2. Reorganize the table to match the index and to reclaim space:
a. Stop the License Metric Tool server.
b. In the DB2 command-line interface, run the following commands:
v db2 connect to SUADB
v db2 -x "select ’reorg
table’,substr(rtrim(tabschema)||’.’||rtrim(tabname),1,50),’ allow
no access;’from syscat.tables where type = ’T’ and tabschema in
(’ADM’,SAM,’DBO’) order by tabschema,tabname " > reorgs.sql
v db2 -tvf reorgs.sql
v db2 terminate
c. Start the License Metric Tool server.
3. Keep the statistics up-to-date. By default, DB2 statistics are run automatically. If
this option is disabled, you must manually run the following commands:
a. Stop the License Metric Tool server.
b. In the DB2 command-line interface, run the following commands:
v db2 connect to SUADB
v db2 -x "select ’runstats on
table’,substr(rtrim(tabschema)||’.’||rtrim(tabname),1,50),’ and
indexes all;’from syscat.tables where type = ’T’ and tabschema in
(’DBO’,’SAM’,’ADM’) order by tabschema,tabname " > runstats.sql
v db2 -tvf runstats.sql
v db2 terminate
c. Start the server.
What to do next
For a more advanced investigation of queries that are used by the License Metric
Tool server, you should use the DB2 design advisor command (db2advis). It helps
in finding new indexes that can improve the database performance. The Design
Advisor uses the output from the DB2 monitors to suggest the creation of new
indexes. The suggestions are based on the queries that are found in monitors. For
more information about Design Advisor, consult the DB2 documentation:
v DB2 10.1
– db2advis - DB2 Design Advisor command
– DB2 topic: Design Advisor
v DB2 10.5
– db2advis - DB2 Design Advisor command
– DB2 topic: Design Advisor
IBM License Metric Tool: Tuning Performance Guide
This information was developed for products and services offered in the U.S.A.
IBM may not offer the products, services, or features discussed in this document in
other countries. Consult your local IBM representative for information on the
products and services currently available in your area. Any reference to an IBM
product, program, or service is not intended to state or imply that only that IBM
product, program, or service may be used. Any functionally equivalent product,
program, or service that does not infringe any IBM intellectual property right may
be used instead. However, it is the user's responsibility to evaluate and verify the
operation of any non-IBM product, program, or service.
IBM may have patents or pending patent applications covering subject matter
described in this document. The furnishing of this document does not grant you
any license to these patents. You can send license inquiries, in writing, to:
IBM Director of Licensing
IBM Corporation
North Castle Drive
Armonk, NY 10504-1785 U.S.A.
For license inquiries regarding double-byte character set (DBCS) information,
contact the IBM Intellectual Property Department in your country or send
inquiries, in writing, to:
Intellectual Property Licensing
Legal and Intellectual Property Law
IBM Japan, Ltd.
19-21, Nihonbashi-Hakozakicho, Chuo-ku
Tokyo 103-8510, Japan
The following paragraph does not apply to the United Kingdom or any other
country where such provisions are inconsistent with local law:
FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or
implied warranties in certain transactions, therefore, this statement may not apply
to you.
This information could include technical inaccuracies or typographical errors.
Changes are periodically made to the information herein; these changes will be
incorporated in new editions of the publication. IBM may make improvements
and/or changes in the product(s) and/or the program(s) described in this
publication at any time without notice.
Any references in this information to non-IBM Web sites are provided for
convenience only and do not in any manner serve as an endorsement of those Web
sites. The materials at those Web sites are not part of the materials for this IBM
product and use of those Web sites is at your own risk.
© Copyright IBM Corp. 2002, 2014
IBM may use or distribute any of the information you supply in any way it
believes appropriate without incurring any obligation to you.
Licensees of this program who wish to have information about it for the purpose
of enabling: (i) the exchange of information between independently created
programs and other programs (including this one) and (ii) the mutual use of the
information which has been exchanged, should contact:
IBM Corporation
11400 Burnet Road
Austin, TX 79758 U.S.A
Such information may be available, subject to appropriate terms and conditions,
including in some cases, payment of a fee.
The licensed program described in this information and all licensed material
available for it are provided by IBM under terms of the IBM Customer Agreement,
IBM International Program License Agreement, or any equivalent agreement
between us.
Information concerning non-IBM products was obtained from the suppliers of
those products, their published announcements or other publicly available sources.
IBM has not tested those products and cannot confirm the accuracy of
performance, compatibility or any other claims related to non-IBM products.
Questions on the capabilities of non-IBM products should be addressed to the
suppliers of those products.
All statements regarding IBM's future direction or intent are subject to change or
withdrawal without notice, and represent goals and objectives only.
This information contains examples of data and reports used in daily business
operations. To illustrate them as completely as possible, the examples include the
names of individuals, companies, brands, and products. All of these names are
fictitious and any similarity to the names and addresses used by an actual business
enterprise is entirely coincidental.
IBM®, the IBM logo, and® are trademarks or registered trademarks of
International Business Machines Corp., registered in many jurisdictions worldwide.
Other product and service names might be trademarks of IBM or other companies.
A current list of IBM trademarks is available on the Web at “Copyright and
trademark information” at
Java™ and all Java-based trademarks and logos are trademarks or registered
trademarks of Oracle and/or its affiliates.
Linux is a registered trademark of Linus Torvalds in the United States, other
countries, or both.
IBM License Metric Tool: Tuning Performance Guide
Privacy policy considerations
IBM Software products, including software as a service solutions, (“Software
Offerings”) may use cookies or other technologies to collect product usage
information, to help improve the end user experience, to tailor interactions with
the end user or for other purposes. In many cases no personally identifiable
information is collected by the Software Offerings. Some of our Software Offerings
can help enable you to collect personally identifiable information. If this Software
Offering uses cookies to collect personally identifiable information, specific
information about this offering’s use of cookies is set forth below.
This Software Offering does not use cookies or other technologies to collect
personally identifiable information.
If the configurations deployed for this Software Offering provide you as customer
the ability to collect personally identifiable information from end users via cookies
and other technologies, you should seek your own legal advice about any laws
applicable to such data collection, including any requirements for notice and
For more information about the use of various technologies, including cookies, for
these purposes, See IBM’s Privacy Policy at and
IBM’s Online Privacy Statement at the
section entitled “Cookies, Web Beacons and Other Technologies” and the “IBM
Software Products and Software-as-a-Service Privacy Statement” at
© Copyright IBM Corp. 2002, 2014
IBM License Metric Tool: Tuning Performance Guide
Printed in USA