|
Softpanorama |
May the source be with you, but remember the KISS principle ;-)
Softpanorama Search
|
| News | See also | Recommended Links | Documentation | Installation | Field Guides | Redbooks |
| AIX performance tuning | Database Performance Tuning | Oracle Performance Tuning | TCP Parameters for Tivoli | Tips | Humor | Etc |
Because your Tivoli environment becomes more complex as you add more Tivoli applications and systems managed by Tivoli software, you should revisit your initial hardware configuration to improve performance.
the Tivoli Enterprise Console server is CPU-bound and increasing the number or quality of CPUs will give the largest improvement in throughput. Total events per second at the server is the main consideration when calculating required hardware. The best way to save on processing power is to limit the number of incoming events before they reach the server.
The following tips are taken from a Tivoli Enterprise Console 3.9 performance report:
Maximum number of event messages buffered in memory
higher than the peak expected burst size. This prevents the server from
doing added CPU and disk work if the buffer overflows. The following sections discuss options to consider.
The first thing is to run database on the same box as Tivoli. In this case recommendations for improvement of database performance and kernel tuning parameters are available from the corresponding database literature (Oracle or DB2).
In case database is on another box you need at least increase number of file descriptors See AIX file descriptors
One of the ways you can improve how the Tivoli environment runs on UNIX systems is to monitor the process tables for the Tivoli user and the entire system. Check to make sure that your system-wide process table is large enough, and then check that the per-user process limit is also high enough.
The following guidelines provide information about how to analyze the process tables (see your system documentation on how to run the sar, ulimit, and ps commands or other process management commands particular to your system):
Another area where you can optimize performance for UNIX systems is in the configuration for the file table. Not only should you check the number of files open on the file system, but you should also check every socket connection that is open. When performing this check, run the netstat command to see how many socket connections are open. Also run the sar -v command (or your system's equivalent) to see file-handle-table statistics and process table statistics, among others. If your file table is approaching the limit, raise it and regenerate your kernel. Take into consideration your soft-file handle limit, if your operating system has both a hard and a soft limit. Set limits so that neither is approached.
Note: Tools that list the number of open files per process are available on the Internet.
Another performance problem can be found in the swap-space configuration. Check the amount of configured swap space, considering whether it is the primary or secondary device or file system. If you are using 90% to 100%, you need more swap space.
New processes, when spawned, need three types of memory allocated:
When you find that a Windows managed node or Tivoli server is running low on virtual memory or is hanging, you might need to increase the virtual memory on the machine. You also should consider increasing the total paging file size for the system.
When you have multiple Tivoli applications installed, you might have problems with the applications successfully completing their tasks, such as software distributions or inventory scans. It is important to properly schedule application tasks so that they do not process at the same time. This can greatly reduce resource problems in the Tivoli environment.
Tivoli Management Framework requires space to expand as your Tivoli environment becomes more complex. It needs space to spawn more processes (process and file tables, RAM, and swap space), create new threads (RAM, swap space, and file handles), and so on.
It is important to check for RAM usage. To improve performance in the Tivoli environment, try any of the following:
When you encounter problems with endpoint logins, there could be a problem with the Tivoli server being loaded down with too many requests. You can use additional throttling options to better distribute the load of endpoint logins being handled by the endpoint manager at one time. Use the wepmgr command with the set option to define attribute values, login_interval, max_install, max_sgp, max_after, and max_jobs. Setting these attributes assist you in throttling endpoint login requests.
Another consideration is how to implement endpoint policy. It is recommended that you use Perl scripts if pattern match searches are required. Perl is a compiled language, as contrasted with shell scripts, which are interpreted. Perl is therefore faster. In addition, while each command used in a shell script requires spawning of an entire child process (a resource-intensive activity), a compiled Perl script runs as one process, which makes it system-friendly. Perl is also much more portable across gateways, regardless of the interpreter type.
As we mentioned, to handle an unreachable target efficiently, the most important timeout parameter is the tcp_keepinit parameter.
Important: By default, the tcp_keepinit value is 150 (75 seconds). We recommend you set the tcp_keepinit to around 40 (20 seconds) if the Endpoint Gateway machine plays only the role of Endpoint Gateway. This setting will improve the throughput of the distribution process in a large-scale environment. But, again, modify this value with caution.
Tivoli Enterprise Console server
The purpose of the testing was to verify the Tivoli Enterprise Console server's event processing capabilities and limitations. Like the Remote Management Agent server, the Tivoli Enterprise Console server is CPU-bound and increasing the number or quality of CPUs will give the largest improvement in throughput. Total events per second at the server is the main consideration when calculating required hardware. The best way to save on processing power is to limit the number of incoming events before they reach the server.
The following tips are taken from a Tivoli Enterprise Console 3.9 performance report:
- The Tivoli Enterprise Console server is CPU-bound, which means the speed of the CPU directly impacts the event throughput of the server.
- Tivoli Enterprise Console can take advantage of multiprocessors. When deciding between deploying on a single 4-processor machine, or two 2-processor machines of equal speed (with the Tivoli Enterprise Console server on one, and RIM_host/RDBMS on another), note that there is a drop in throughput for the two machine environment due to network latency. For a simple or moderately complicated rulebase, choose a slower 2-processor machine over a faster 1-processor. When using a complex rulebase, consider a faster 1-processor machine because the rule engine will be the bottleneck.
- Use a 100 Mbit or better network connection between the server and RDBMS.
- Set
Maximum number of event messages buffered in memoryhigher than the peak expected burst size. This prevents the server from doing added CPU and disk work if the buffer overflows.- Tune the database bufferpools and check that the log spaces are of sufficient size. Database overflow can introduce latency into the event processing. Details on how to do this are discussed in Sample DB2 configuration updates for Tivoli Enterprise Console.
- Plan on additional CPU capacity for programs executed by the rulebase.
- Plan on an additional CPU capacity for excessive number of Java™ consoles or Web consoles. Both access the RDBMS directly and run extra RIM processes.
- The Tivoli Enterprise Console server is not memory-intensive. Two Gbytes is sufficient, even with RIM and the RDBMS on the same machine. More might be needed for complex rulebases and external programs executed by the rulebase.
- Event throughput is bound by the server speed. The number of gateways and endpoints has little effect. Therefore, total events per second is the major design criteria.
Improving performance in a Tivoli environment
IBM Redbooks | AIX 5L Practical Performance Tools and Tuning Guide
Read hints about running Apache on a heavily loaded Web server.
The suggestions include how to tune your kernel for the heavier
TCP/IP load, and hardware and software conflicts.
Offers clear explanations and expert practical guidance on performance analysis for Java-based Web sites. It offers extensive appendices, including worksheets for capacity planning, checklists to help you prepare for different stages of performance testing, and a list of performance-test tool vendors.
View the entire AIX software documentation library for releases 4.3, 5.1, and 5.2.
Describes development best practices for Web applications with servlets, JavaServer Pages files, JDBC connections, and enterprise applications with Enterprise JavaBeans components.
Search the IBM developerWorks Web site for a list of garbage collection documentation, including "Understanding the IBM Java Garbage Collector", a three-part series. To locate the documentation, search on "sensible garbage collection" in the developerWorks search application.
Review "Understanding the IBM Java Garbage Collector" for a description of the IBM verbose:gc output and more information about the IBM garbage collector.
Copyright © 1996-2009 by Dr. Nikolai Bezroukov. www.softpanorama.org was created as a service to the UN Sustainable Development Networking Programme (SDNP) in the author free time. Submit comments This document is an industrial compilation designed and created exclusively for educational use and is placed under the copyright of the Open Content License(OPL). Site uses AdSense so you need to be aware of Google privacy policy. Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.
Disclaimer:
Last modified: August 15, 2009