|
|
Categories
»
Performance Optimization
Performance Optimization
- A Custom Performance Test — Is It for You?
by Susanne Janssen and Dr. Ulrich Marquard
A load test makes sense — in fact, it's an absolute must — for large, complex, or highly customized systems with add-ons. In these situations, a load test, whereby you physically test a heavily loaded system before it is deployed, is the only way to verify that the hardware sizing, configuration, and parameterization of your system will be powerful enough to support your business transactions with adequate response times and throughput.
How do you know if your system requires a custom load test? The first part of this article shows you how to answer this question. And, supposing your system does warrant a custom load test, how do you proceed? What steps must you take to successfully devise and then execute the test? This article answers these questions as well.
- Achieving a More Manageable and Reliable R/3 Spool Server Landscape Using Release 4 Output
Classifications, Logical
Servers, and Alternate Servers
by Uwe Krüger
Three new output features give rise to a more manageable, more reliable R/3 spool server environment — classifications, logical servers, and alternate servers. With Release 4, classifications of output devices and spool servers (along the lines of production, high-volume, desktop, and test printing) are now made possible within R/3 itself. This helps you ensure that print requests are directed to the spool servers that are best able to process them.
Logical servers give you a way to reassign multiple output devices with no more effort than it takes to reassign just one. Alternate servers enable you to establish automated failover and load-balancing scenarios. In the event that a spool server fails or becomes overloaded, print requests will be automatically redirected to another (alternate) server. This article provides detailed coverage of these new output features and shows you how they can be used to remedy many of the common problems that plague the spool systems of older releases.
- Best practices for performance-tuning SAP R/3 and Oracle database
configurations: Part 1 — SAP tools for monitoring R/3 functionality
by Kostas G. Gavrielidis
Performance-tuning your SAP system and database is like walking a tight rope while holding a pole for balance. Hold the pole off-center or drop an end too far and you might not make it to the other side. This article is the first in a three-part series that shares SAP R/3 performance-tuning best practices for production-class configurations running on Unix with an Oracle RDBMS. This first article provides a veteran’s look at the SAP tools available to monitor R/3 functionality that affects database performance. The next installments examine the monitoring and performance optimization tools available for Oracle databases and performance issues related to running SAP R/3 in a Unix environment.
- Best practices for performance-tuning SAP R/3 and Oracle database configurations:
Part 2 — Tools for optimizing Oracle databases
by Kostas G. Gavrielidis, Master Technologist, Hewlett-Packard Services
Left unattended, database performance issues only
worsen over time. Monitoring and adjusting your database
configuration on a regular basis is critical to maintaining
optimal performance and heading off larger problems.
This is the second article in a three-part series
on best practices for performance-tuning SAP R/3
production systems running on Unix with an Oracle
RDBMS. Part 1 described the SAP tools available for
monitoring R/3 functionality. This second installment
reviews the performance issues that are common to
Oracle-based environments, and examines the tools
available for tuning Oracle databases.
- Best practices for performance-tuning SAP R/3 and Oracle database configurations: Part 3 — The top 10 performance
challenges of running SAP R/3 on HP Tru64 Unix
by Kostas G. Gavrielidis, Master Technologist, Hewlett-Packard Services
Performance-tuning your SAP system and database configurations is critical
to maintaining a healthy and reliable system environment. This is the final
installment of a three-part series that together provides a comprehensive guide
to performance-tuning SAP R/3 production configurations running on Unix with
an Oracle database. Part 1 described how to use SAP-provided tools to tune
your SAP R/3 system. Part 2 covered how to optimize the Oracle database. This
final installment reviews the 10 most common performance challenges of running
an SAP R/3 system in an HP Tru64 Unix 5.x environment and how to address them.
- Boost SAP R/3 Performance by Reorganizing Your Oracle Database: A Proven
Reorganization Strategy
by Charles Davis, Database Administration Manager, Rohm and Haas Company
Over time, chunks of free space of varying sizes are distributed randomly throughout the tablespaces in your database. While this free-space distribution is unavoidable, it can significantly degrade SAP system performance if not periodically corrected. This article presents a database reorganization strategy for 24x7 SAP R/3 environments using Oracle 8i and 9i. Adopting this strategy can improve your SAP database performance, reduce your database disk space requirements, maintain full SAP compliance for your support agreement, and lighten your database administration team’s workload by enabling your operations staff to run the reorganizations.
- Boost the information processing capabilities of your ABAP programs using
regular expressions with SAP NetWeaver
by Ralph Benzinger and Björn Mielenhausen
Regular expressions provide a standardized and widely used toolset for processing text-based information effectively and efficiently. While regular expressions have been available for limited use in ABAP programs via workarounds, SAP has not included native support for this functionality — until now. With SAP NetWeaver 2004s, regular expressions have been integrated directly into ABAP. This article, the first in a two-part series, introduces regular expressions and details their integration into the ABAP world. A second companion article takes on more advanced topics and provides additional practical insights for using regular expressions effectively.
- Boost the information processing capabilities of your ABAP programs using
regular expressions with SAP NetWeaver — advanced techniques
by Ralph Benzinger and Björn Mielenhausen
Regular expressions are the de facto standard toolset for processing text-based information. SAP NetWeaver 2004s now includes native support for regular expressions in ABAP. This is the second article in a two-part series that shows you how regular expressions can help improve the efficiency of your ABAP development work and enable more robust programs. This article expands upon the first by introducing more advanced matching operators, sharing best practices, and discussing some technical considerations to keep in mind.
- Enable remote database access and parallel transaction processing using secondary database connections in your ABAP
programs
by Jürgen G. Kissner, Ph.D., Developer, SAP AG
SAP NetWeaver Application Server 2004 and higher provides a default connection between your applications and your SAP system database. What you may not know is that you can supplement these default connections in certain scenarios — if you want to access a remote database or trigger a separate, parallel database transaction — by creating secondary connections in your ABAP programs. This article shows you how to use secondary connections, which are an extension of Open SQL, ADBC, and EXEC SQL, and provides some tips and tricks for working with them and monitoring them.
- Get big rewards from a little extra code: A developer's guide to boosting the
reliability of your Java-based applications with State Monitoring in SAP
NetWeaver '04
by Robert Heidasch, Enterprise Services Infrastructure, SAP AG
SAP NetWeaver developers have a range of coding options and techniques available for building effective Java-based applications. What if, with relatively little effort, you could also make your applications more reliable and easier to support? The State Monitoring functionality included with SAP NetWeaver '04 not only enables you to establish a customized early warning system for system administrators, it also helps you to fix problems in the application more efficiently through quick, systematic, and selective information. This article shows you how to implement State Monitoring in your own custom-built Java applications, and how to avoid potential problems that can decrease system performance.
- How to Build Optional Parallel Processing into Your Applications for Increased
Throughput and Reduced Processing Time
by Susanne Janssen, Performance Benchmark Group, SAP AG and Werner Schwarz, IBU
Retail, SAP Retail Solutions
When you set out to design an application, you have several critical decisions to make - its functionality, user options, user interface, interfaces to other processes or systems, etc. Whether or not to build a parallel-processing option is one of these. This article helps you make this decision by providing criteria for evaluating whether parallel processing will benefit your program and whether your program can support this option. It also compares different parallel-processing distribution methods (fixed versus dynamic) and demonstrates why the first method that comes to mind (fixed) is often not the optimal choice. The authors discuss the design decisions involved and outline a comprehensive code framework for dynamic distribution of workloads to parallel processes.
- Improve data access in SAP environments with the Oracle Cost Based Optimizer (CBO)
by Martin Frauendorfer, Platinum Support Consultant, Active Global Support, SAP AG
The Oracle Cost Based Optimizer (CBO) can be a powerful tool for determining the most efficient way to retrieve data from an Oracle database. The CBO identifies ways to improve data-access time by considering resource costs such as I/O, by accounting for statistical values and parameters, and by selecting appropriate indexes. Compared to the Rule Based Optimizer1 (RBO), the CBO is more sophisticated and complex, but it also has a few drawbacks.
- Keep Your Java-Based Systems and Applications Running Smoothly with Early
Problem Detection: A System Administrator's Guide to State Monitoring in SAP
NetWeaver '04
by Robert Heidasch, SAP NetWeaver Foundation Group, SAP AG
Consider how much time and effort you would save if you could quickly determine at a glance that your systems are operating properly or — better yet — have the systems alert you to any problems and their potential severity. This article introduces you to the State Monitoring solution built into SAP NetWeaver ’04. It shows you how to take advantage of the provided administrative tools for managing and viewing monitoring data — the Monitoring Service in the Visual Administrator and the Alert Monitor in CCMS — and provides guidelines for identifying and resolving any problems that might occur with the monitoring configuration or functionality.
- Learn How to Avoid Lackluster System Performance When Using the 'FOR ALL ENTRIES IN' Clause: An
ABAP Developer's Guide
by David F. Jenkins, Director Consultant, RCG Information Technology
All ABAP programmers are familiar with the Open SQL SELECT … FOR ALL ENTRIES IN construct frequently used to access data from a database. While the use of FOR ALL ENTRIES IN ("FAEI") can ease your programming load, it can also cause immense performance problems if not wisely used. This article goes far beyond standard SAP documentation to help you avoid such problems — it reveals how FAEI really works and techniques for minimizing its performance drain.
- Lessons in Logon Load Balancing
by Janet Hutchison
In large SAP R/3 environments that require multiple application instances, you can achieve intelligent, automated distribution of workload across multiple application instances, with minimal impact to end users, through logon groups. This article explains how logon groups work and how to use them to establish a logon load balancing strategy that can improve system performance, elevate end-user satisfaction, and help attain High Availability objectives.
- Optimize Database Access and Increase System Performance Through More Efficient
ABAP Programming
by Rehan Zaidi, SAP Technical Consultant, Siemens Pakistan
One of the most common reasons for slow-running ABAP programs is long-running SQL statements, which can cause over-consumption of database and network resources, and ultimately, decreased performance. So how can you prevent your SQL statements from causing this? This article provides an overview of database access optimization. It discusses the various techniques available for speeding up data access and, using sample code along the way, illustrates these techniques in action and points out the most common coding mistakes developers make.
- Optimizing, Monitoring, and Fine-Tuning a Newly Upgraded Release 4.x Spool Service
by Uwe Krüger
For Release 3.x spool servers, all output requests and related management activities are anchored by a single spool work process. Needless to say, processing bottlenecks can be a common occurrence, forcing administrators to add additional R/3 servers just to get more spool work processes. Release 4.x spool servers, which can support multiple spool work processes, yield far better throughput and performance. Just how many spool work processes should you set up on your Release 4.x spool server?
This article provides you with evaluation criteria and guidelines to answer that question and simple scenarios that illustrate how to apply these factors in a real-world situation.
- Performance Problems in ABAP Programs: How to Find Them
by Werner Schwarz, IBU Retail, SAP Retail Solutions
Many factors can cause sluggish execution of a transaction or a report. If you've ruled out deficiencies in the system setup, mishandling by users, or the need for parallel processing, then you need to revisit your code and see if the source of your runtime problems is lurking there. But how do you approach such an exercise? This article demonstrates how to leverage SAP performance analysis tools to identify the critical actions or code sequences that are causing poor runtime. Depending on the results of your analysis, you can then implement the necessary corrections. The next installment of this two-part series presents commonly found performance bugs and recommended solutions.
- Performance Problems in ABAP Programs: How to Fix Them
by Werner Schwarz, IBU Retail, SAP Retail Solutions
Whatever the cause of your program’s performance troubles, optimizing the runtime of the application requires that you first find out where the majority of the runtime is spent. The first installment of this two-part article series showed you how to use SAP’s performance monitoring and tracing tools to identify the critical actions or code sequences causing poor runtime in your program. This second installment helps you to focus your correction efforts by presenting the most commonly found performance bugs — problems with database accesses and internal table handling in ABAP program code — and the recommended solutions.
- Readying to Resize Your R/3 Platform
by Kurt Bishop, Remote Consulting Team, SAP America
Whether you're sizing a brand-new system or resizing an existing system, there is only one governing principle — sizing requirements are defined by the extent of the SAP functionality to be implemented. Upgraded functionality, for example, may consume resources, whether you use it or not. When resizing an existing R/3 system, you must account for all upgraded and additional new functions and applications. You must also make sure your existing system is properly tuned, so you don't needlessly buy additional hardware.
How do you analyze your system to determine whether or not it is properly tuned? And how do you account for the workloads presented by current and future requirements from "conventional" R/3 as well as new Web-based functionality such as mySAP.com, Workplace, and B2B? These are some of the questions this article will address.
- Size Does Matter - Strategies for Successful SAP R/3 Capacity Planning
by Kurt Bishop
Capacity planning is not a trivial task. Choose your hardware vendor and equipment carefully, and upgrades will pose few problems. Choose the wrong vendor-model combination, and you will be forced to make extensive changes to your hardware and operating system that will entail extensive planning and testing, and could ultimately require all new equipment.
So how do you, as a customer, set yourself up for a successful collaboration with your hardware vendor - one that ensures the final system design meets your current requirements and adequately scales over time? This article describes the capacity planning process, some basic tools and techniques employed by the vendors, and how you can ensure all of these items work in your favor as you attempt to size your SAP R/3 System.
- Speed Up High-Throughput Business Transactions with Parallel Processing - No
Programming Required!
by Susanne Janssen, Performance & Benchmark Group, SAP AG and Werner Schwarz, IBS
Consumer Industries, SAP Retail Solutions
Parallel processing is a built-in option available with many SAP programs that helps improve the throughput and processing time of business transactions that must process large amounts of data in a tight time frame. This article shows you how to determine whether parallel processing is the right course of action, how the workload is split up to achieve greater throughput, the options available to you to maximize performance, and how to use concurrent batch jobs when parallel processing is not an option automatically provided by the program. It also points out the two most common parallel-processing pitfalls and how to avoid them.
- Take your first steps with the Java-based SAP Web ApplicationServer in SAP NetWeaver ’04: An implementation primer for
system administrators
by Robert Heidasch, Enterprise Services Infrastructure, SAP AG
Configuring and reconfiguring the ABAP-based SAP Web
Application Server (SAP Web AS) to optimize performance
and accommodate ever-increasing and changing applications,
users, and business needs is a well-documented and
well-known undertaking for SAP system administrators.
As a newer technology, however, the Java-based SAP
Web AS is a less well-traveled path. This article introduces
you to the key concepts behind the Java-based SAP Web
AS and shows you how, with a little planning, you can
design an architecture that meets your current needs
and can be easily reconfigured to meet future needs
as well.
- Techniques for minimizing the performance impact of Java garbage collection across your
system landscape
by Rudolf Meier, Developer,
SAP Performance, Data
Management and Scalability,
SAP AG
When you set out to optimize the performance of a multi-user
application, a natural focus is removing or minimizing
application contentions. For Java applications, there
is one common source of contention: garbage collection
(GC). This article explains in detail how GC affects
application execution, and presents a formula you can
use to predict the extent to which GC in your system
will affect your applications. It also provides recommendations
on what you can do if GC is the principle source for
performance deterioration in your system, and steps
you can take toward memory-conscious programming to
help you on your way toward an optimally performing
system.
- Transaction Handling in SAP R/3 — What Every Programmer Needs to Know
by Thomas G. Schuessler
Understanding how R/3 is able to handle even very large numbers of transactions with ease is essential for any ABAP or BAPI developer who wants to build performance-optimized applications, and for administrators who are charged with maintaining overall system performance.
This article explains the details of transaction processing and the asynchronous update scheme around which transaction processing revolves. The asynchronous update mechanism, designed by SAP to guarantee more even response times, requires a specific programming style, which you will learn about here. The article concludes with tips and techniques for leveraging this knowledge when calling or writing BAPIs.
|
|