Technote (troubleshooting)
Problem(Abstract)
This document will help you navigate through the available information and resources related to the Performance of Informix Dynamic Server.
Resolving the problem
Overview
Prerequisites
Education
Configuration
Administering
Developing
Monitoring
Troubleshooting
Miscellaneous
Overview
This document will provide an overview of different topics related to the performance of IBM® Informix® Dynamic Server (IDS). It will give you links to the available information and tips how to troubleshoot certain performance situations.
Prerequisites
Before starting with performance tuning you should be familiar with the administration of the Informix Dynamic Server.
The tech info center and the classroom course IBM Informix Dynamic Server Administration should provide you a solid base to start performance tuning.
Back to top
Education
Documentation (Manual)
Check the Informix Performance Guide for an overview about the topics that could help improve performance.
Also, in the other manuals useful information can be found. The tech info center has the ability to do a full text search over all of the documentation.
IBM Informix Training / Education
Visit the IBM Informix Training site for an overview of the available training.
The following courses are are aimed at database administrators, and are especially useful for optimizing performance:
This worksho begins with a short, but intensive lecture period to explore a wide range of configuration and tuning issues in the IBM Informix Dynamic Server environment. The remainder of the workshop is spend working on a real-world decision support and Online Transaction Processing (OLTP) system, and getting extensive, hands-on experience configuring and tuning IBM Informix Dynamic Server on a state-of-the-art, high-performance hardware platform
There is also a course talking about the performance from a developers point of view:
Learn more about how to use the features of the IBM Informix database server, the options of SQL, and application development techniques to write programs that run fast and use as few system resources as possible. Learn about the performance features available within the database server and how to create tables and indexes and write applications to take advantage of these features. #
Chat with the Labs
The Informix "Chat with the Labs" series currently has two talks concerend with Performance Tuning for Version 11.
- Optimizing IDS Performance (Teleconference)
- Tuning the IDS Server (Teleconference)
There are alos two talks concerned with Performance Tuning for Version 10:
- Performance tuning for IDS v10.0 (Teleconference)
- More performance improvements with IDS v10.0 (Teleconference)
It is well worth checking out the Chat with the Labs page for other interesting talks, covered topics are for example High Performance Loader or Backup and Restore
A list of the IDS Configuration parameters and environment variables can be found in the IBM Informix Administration guide (manual).
The Performance guide discusses the impact of parameters on CPU usage, memory usage and I/O.
The advantages and disadvantages of PDQ Queries is explained in the following document:
A quick start to Parallel Data Queries (PDQ) (article)
Use PDQ to improve slow query performance that can be parallelized. The advantages are greatest when typical single queries can be subdivided to run concurrently in different threads and/or on different CPUs. At best, the total query time can be reduced to a fraction by the ratio of the number of subqueries
For further discussion of other onconfig and environment variables and their relative impact to the performance of the system, please check the Performance Guide, the Release Notes and the " Search Support" site.
New with version 11 are several features which help to improve and monitor performance.
For an general overview you might want to have a look at the tutorials for the IDS certification preparation for version 11. For the performance tuning point of view the following tutorials are especially interesting:
Part 2: System activity monitoring,
Part 4 : Performance Tuning
Part 8: SQL Features for administrators.
Non-blocking checkpoints in Informix Dynamic Server
This article by the Performance architect Scott Lashley promises to help you to Tune Informix Dynamic Server to take advantage of non-blocking checkpoints and RTO_SERVER_RESTART in an online transaction processing environment
Also check how the new sql trace feature can help you to identify slow queries
Use the Informix Dynamic Server scheduler and SQL API
The Open Admin Tool (OAT) provides a graphical interface for many administration tasks. For an overview of using them, see the articles listened in the Monitoring section.
In addition to the "Chat with the Labs" information mentioned above, the following teleconference deals specifically with update statistics:
- Unlocking the mysteries of update statistics (Teleconference)
This RedBook discusses Database Performance Tuning on the AIX platform, and has a chapter about Informix:
The performance tips provided here relate to the things that a system administrator or database administrator can change. This book does not cover performance tuning issues that relate to application and database design, including SQL query tuning.
The following article has some performance guidelines for the usage of IDS together with Websphere:
This tip provides some general performance tuning guidelines that can be used as a starting point for implementing an Informix Dynamic Server and WebSphere environment.
For hints about optimizing SQL queries, check the SQL Trace feature mentioned in the section above. For background information review these articles:
This article explains in detail the usage of fragmentation for performance improvements. If used properly, it will improve overall Informix Dynamic Server performance significantly; but if used without care, it may adversely affect performance. This article will discuss and analyze in detail a fragmentation case, and will provide some general tips as to planning and designing good fragmentation strategy for your Informix Dynamic Server.
- Part 1: Tuning Informix SQL (article)
- Part 2: Tuning Informix SQL (article)
Regarding fragmentation and indexes, there is also a Chat with the Lab session which deals with these topics:
- Indexing and fragmentation strategies (Teleconference)
You can also check developerWorks for further articles regarding specific performance issues.
Again, check OAT and the SQL API features to help you gather data on a regular base.
This Webcase by John Miller explains what is available:
Cheetah - Expanding the Administration Free Zone (Replay)
Hear John Miller discuss the new features of the next release of IDS that lowers the total cost of ownership by providing easy, scalable administration. Features such as SQL Tracing for detailed performance monitoring, the open Admin API for custom administration and a built-in database scheduler allow for an industrial strength, highly reliable environment. .
http://www-01.ibm.com/software/data/informix/webcasts/replay.html#1
To check out more details, the following two articles are helpful:
Manage your Informix database with the IDS OpenAdmin Tool, Part 1: Configuring and using the OpenAdmin Tool with IDS
http://www.ibm.com/developerworks/db2/library/techarticle/dm-0807kudgavkar/index.html
Part 3: Performance analysis of Informix Dynamic Server made easy through the OpenAdmin Tool
http://www.ibm.com/developerworks/db2/library/techarticle/dm-0807sudha/index.html
To get an overview of the performance of your instance, you should regularly gather some onstats commands output. The onstat commands are described in the IBM Informix Administrators reference.
The following article lists the information you should gather before updating IDS. However, this information is very helpful in monitoring IDS performance:
For further articles that describe techniques for monitoring the instance, check developerWorks
For these distinct performance issues, see the following resources:
Checkpoints take too long:
Review the information found in the following article:
One query takes too long
The following two articles describe how to get a query plan and how use DIRECTIVES to change the way the query is executed:
This article describes how to configure SET EXPLAIN for a local session and also how to configure it dynamically for a user session.
- How to force of a different join method in a query by using DIRECTIVES in the SQL statement. (article)
You can also review the Unlocking the mysteries of update statistics teleconference mentioned in the Administration section.
All queries take too long
No simple solution exits for this case. You probably have to go through the output of the different onstats discussed in the Monitoring section and try to localize the bottleneck from there.
Check also the following article:
What to collect if a IBM Informix IDS server gets hung (article)
IIUG (Type: Other)
The International Informix User Group (IIUG) web site supports a Forums, FAQ, a Software Archive ( http://www.iiug.org/software), and links to many areas of interest related to IBM® Informix® Dynamic Server (IDS). Membership to the IIUG is free
Rate this page:
Copyright and trademark information
IBM, the IBM logo and ibm.com are 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 www.ibm.com/legal/copytrade.shtml.