Вы находитесь на странице: 1из 41

Contents

EPM Performance Basics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3


Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Common Performance Challenges. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
How to Resolve Performance Challenges. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Important: Be Aware of Your Technology Stack. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Performance Troubleshooting Flowchart. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10

Client Troubleshooting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
How to: Investigate Performance Issues. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
EPM Add-in for Excel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
MS Excel & Office. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Conclusion: Client Troubleshooting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

Contention for Resources Troubleshooting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16


Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
CPU & RAM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Storage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Bandwidth. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Conclusion: Contention for Resources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

Infrastructure Troubleshooting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Network Latency. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Internet Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Cloud. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Network Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Conclusion: Infrastructure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

Server Troubleshooting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
BPC NW & NW on HANA Versions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Database Considerations for non-HANA Versions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
BPC Microsoft. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Conclusion: Server Troubleshooting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

Final Thoughts on Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

+1.800.360.7839
info@column5.com
www.column5.com

 2 Improve Your EPM Performance


EPM Performance Basics

Overview

EPM software is being adopted more commonly beyond finance to support planning and reporting across a broad
enterprise model. Because EPM and enabling analytics components are increasingly viewed as mission-critical enterprise
solutions, aspects such as system availability, high performance, and smooth operation are mandatory qualities for these
solutions to be effective. The Column5 team has observed an inverse relationship between system response times and
user satisfaction at every level of process sophistication: The more time basic system functions take, the less users will
enjoy working with the solution, and the less likely they are to embrace it.

A common criticism from technical specialists is that users always want systems Poor EPM system
to be faster, no matter how fast response times already are. Despite this irrational performance robs
expectation, it is also fair to note that EPM systems seldom operate anywhere organizations of value
near a state of optimal performance. Column5’s market leading experience
by impeding current
indicates most companies miss EPM system performance benchmarks by wide
margins, yet they may not realize it. Despite being such a lightning rod for processes, and blocking
criticism and a severe stumbling point for many EPM solutions, customers suffer the adoption of future,
from two major blind spots: They often don’t know they have a performance higher value processes.
problem, and they don’t know what to do when they realize there is an issue.
Without an understanding of what the causes and remedies are, organizations
struggle to adopt a plan to address performance challenges. At a minimum, future expansion initiatives are put on hold
until a resolution is achieved; in extreme examples of blaming a perceived inherent defect of the product, the EPM system
is in very real jeopardy of being removed.

The fact is that most EPM solutions will be faced with some sort of performance problem at one or more points during
the solution lifecycle. In a way, performance issues are a bit of a rite of passage, particularly as organizations rely on
their systems in more advanced ways. The trick is to be proactively managing and resolving the issues, so they do not
metastasize in ways that repel users and cost potentially millions in wasted resources.

+1.800.360.7839
info@column5.com
www.column5.com

EPM Performance Basics 3 Improve Your EPM Performance


Why We Created This eBook

This eBook seeks to equip customers with critical user communities and assert control of the proper
information for two aspects of the EPM process: 1) environmental variables to make rapid improvement.
how to access and apply benchmarks to identify at the Ideally, the client internal team would be empowered
earliest opportunity when there is room for performance to quickly assess the various components and unique
improvement, and 2) how to adopt a calm and methodical pressures EPM use cases place on system tiers. At
approach to develop a performance mitigation strategy. times, third-party assistance may be preferred or even
required. External consultants come in a wide variety of
The first hurdle to overcome—knowing that a skills and experience. We won’t attempt to tackle that
performance problem exists or is at risk of developing— discussion in this eBook but suffice it to say: caveat
is no easy feat. Based on experience, we know customers emptor is the rule when it comes to procuring any EPM
tolerate bewildering performance scenarios for far too services, and especially when solid performance is a
long simply because they don’t realize the performance critical expectation. Just because someone says they
was well below average. This first point usually comes know what the issue is doesn’t make it true! Our advice
from the fact they have nothing with which to compare is to not be overly patient with performance issues—it is
their performance. Column5 has supplemental tools truly a burning platform your users will not tolerate for
available released in conjunction with this eBook to assist long—especially if you don’t have a credible plan.
customers in rapidly identifying performance issues. This
book will point you in the right direction to demystify the In this book, we’ll discuss some basic strategies to triage
age-old question: “What is normal?” Click here to take common performance challenges with EPM solutions,
our brief performance survey [Make naming consistent] and specifically SAP’s flagship EPM product, BPC.
to rapidly assess how your performance compares to
industry standards. It’s well worth the 5 minutes or less Your friends at Column5 empathize with befuddled users
investment to see if your score looks like it could use in the throes of performance challenges. We know all too
improvement. If that’s what the indicator is, then you well how frustrating that circumstance can be…and we
should continue reading. believe the extreme anxiety EPM system performance
can trigger stems from a lack of understanding about
In addition to this rapid report card, Column5 also collects what is causing the problems and how to address them.
performance data on BPC and periodically reports our The good news is that performance challenges can
findings to the BPC user community. The goal is to often be addressed in short order with proper tuning
assemble a comprehensive dataset and define what and sizing procedures. So, if you are feeling lost, don’t
“average” truly means. This survey is much more involved know where to begin, or wonder if your performance can
and will take 15-30 minutes to complete. We will notify be improved…rest assured, it can! This eBook is a good
all participants on the results of the survey, and offer a place to start.
personalized performance benchmarking, comparing
not just times but factors like solution complexity, user While we are talking about EPM/BPC specifically here,
and data volumes, platform type, server configurations, the principles outlined in the following pages can be
and more. If you would like to participate in our BPC applied broadly, not just SAP BPC. Switching from SAP
Performance Survey – Click here. EPM solutions to Hyperion (for example) isn’t likely to
resolve the issues, since functional and technical design
The second hurdle is to develop a plan to remediate principles are universal across many EPM products. You
performance issues, which is essential to calm anxious simply can’t run from a misguided design.

+1.800.360.7839
info@column5.com
www.column5.com

EPM Performance Basics 4 Improve Your EPM Performance


Common Performance Challenges

Given the most common “build from scratch” approach, understanding of your user’s requirements, however
EPM deployments can be very sophisticated or even poorly articulated or documented they were. For every
convoluted in their first iteration. What is really built is a requirement, there were multiple paths to fulfill the
unique, custom developed, version 1.0 software solution envisioned need. Which path, which configuration, in
with many points of potential failure embedded within which order—every decision before, during, and after
the solution. Despite the almost infinite permutations development ultimately carries a performance price tag.
of unique features and code present in any given Some tradeoffs are reasonable and “almost free,” while
customer’s environment, we see several recurring root some will cost an arm and a leg. The key concept you’re
causes leading to performance issues. solving for here is “development elegance.” Was the
configuration work well organized, succinctly executed,
Functional Design and effectively applied? This, too, is more a question of art,
Regardless of the technology than science. While several of our tips and suggestions
stack (e.g., NetWeaver, Microsoft, cover functional topics, this subject will not be addressed
HANA), application and model directly in this eBook.
design has a significant impact
on performance. Combined with a Data Volumes
suboptimal structural design, poorly It may seem like an obvious point,
designed objects accessing that but the amount of data in the
structure like: logic, reports, schedules, and data manager system, on a report, or processed
packages, can tie your hardware and software in knots by a logic statement, will affect
and hinder system performance. The bottom line is that your performance to an often-
functional design of the solution will affect performance linear degree. Like the old children’s joke, “How do you
and throwing hardware resources at a bad design will eat an elephant? One bite at a time,” you should always
not improve the foundational issue. The key question consider breaking down the work into smaller pieces.
here is “Were the software’s features applied correctly in The key question here: Are you asking BPC to do an
pursuit of meeting the requirements?” Troubleshooting appropriate volume of work at the appropriate time
what makes a good design is a nuanced discipline to meet your needs? SAP EPM can handle enormous
requiring experience with myriad design options. This amounts of data, regardless of technology stack, but only
eBook won’t cover the details of design directly, but this when the technical foundation and functional design are
topic is addressed elsewhere in Column5’s blog, and may set up correctly and efficiently. An efficient design and
be the subject of a forthcoming whitepaper. rock solid functional execution can efficiently solve this
challenge, but unfortunately this is rare to experience.
Functional Execution More likely, a shaky foundation, confusing design, and
You may recall unwrapping your sloppy execution is subjected to unusual data volumes
freshly installed BPC solution with very frustrating results.
(ah, remember that new software
smell?), only to find it came to
you completely blank. From that
moment, everything configured
in that solution was done by
someone in pursuit of fulfilling their

+1.800.360.7839
info@column5.com
www.column5.com

EPM Performance Basics 5 Improve Your EPM Performance


Contention for Resources
With virtualization of physical resources increasingly common via various cloud deployment
approaches (e.g., VMWare, Microsoft Hyper-V, AWS, Azure, etc.), we are seeing clients encounter
contention for resources more often. A brief explanation is that your EPM solution functions best
when there are adequate resources available to do the job. That much should be self-explanatory,
and was assured when it was common to have BPC installed on a dedicated hardware environment
devoted exclusively to BPC. Where the amount of resources available is left to a virtualized software
configuration and configurator vs. a physical constraint, however, it is possible to appear to have adequate resources
allocated at the server level, but due to overcommitted sharing of resources, they are not. Common areas to look for
chokepoints include: SAN devices that concentrate disk activity from multiple, often unrelated solutions on one set of
disks (logical unit number or LUN) vs. multiple sets of disks (LUNs); physical CPU/RAM being shared across numerous
processes; and network bandwidth prioritization and contention.

A telltale indicator for this risk would be symptoms appearing “randomly” (such as during some sort of peak load from
an unrelated process), or happening at the same time every day or night (when a scheduled process from an unrelated
solution is running concurrently). These symptoms may be inconsistent and seem to disappear without any explanation.
We hear clients refer to this phenomenon as “the ghost in the machine.” If this sounds like you, your mystery can be solved!

A notable example here was a retail industry customer


who shared a SAN environment with a critical operational
system (their retail customer loyalty awards system).
During the peak sales of the holiday season, an unusually
heavy load was put on that system, due to hundreds of
thousands of customers simultaneously accruing and
seeking to redeem rewards. Unfortunately, this storage
server was undersized to accommodate both the
demand from the rewards program and the tail end of
budget season. To the users, it felt like BPC had slowed
down significantly; one admin speculated the system
was “tired” and needed to be rebooted. Obviously,
rebooting the system accomplished nothing more than
inconveniencing hundreds of users, who lost work and
experienced increased frustration. The client’s perception
was that BPC had inherently slow performance, and
they began to explore different solutions to replace it.
By shifting to a suitable SAN configuration, however,
Column5 fixed the issue and saved the customer the
exorbitant and unnecessary cost of replacing a functional
system.

+1.800.360.7839
info@column5.com
www.column5.com

EPM Performance Basics 6 Improve Your EPM Performance


How to Resolve Performance Challenges

When your users are standing outside your office with pitchforks and torches, it’s important
to have the right mindset. Let’s consider some do’s and don’ts:

DON’TS

 Don’t panic.

 Don’t assume BPC is just supposed to be slow. (In fact, go ahead and fire anyone who told you “slow is normal.”)

 Don’t give up, say “Well, we tried everything,” and continue tolerating slow performance.

 Don’t promise to switch to Hyperion or some other product.

 Don’t reboot the servers when things are slow.

The second part of the list should not be done without validation:
 Don’t scale back functionality.

 Don’t reduce the number of users.

 Don’t buy hardware or new database technologies. (Just moving from one technology stack to another is not an
automatic fix for issues.)

 Don’t turn off logic and automation.

+1.800.360.7839
info@column5.com
www.column5.com

EPM Performance Basics 7 Improve Your EPM Performance


DO’S

ŽŽ Do find out what “normal” performance is by


ŽŽ Do get trained. Let’s face it: EPM software isn’t
participating in our Performance Report Card. There
necessarily easy. Flailing away against a poorly
is a chance your performance is already “above
understood system for a long time is no substitute
average,” but at the very least upon completion
for formal training from credible sources. (Another
(should take 5 minutes), you will know how large the
shameless plug: Column5’s training offerings can be
gap is to achieve improved performance.
reviewed here.). In addition to users and BPC front-
ŽŽ Do contribute to our performance database by taking end administrators, training can be a huge help for the
our more intensive Performance Survey. Our definition technical people caring for and feeding the technology
of what average and best practice performance stack and servers.
metrics are depends on your participation. The more
ŽŽ Do ask your users for feedback—as often as possible—
data points we have, the better our reports are.
and report back fixes and progress made to your BPC
ŽŽ Do participate in events where you are likely to user community. They will pack up the pitchforks
encounter other informed users. This will give you and torches when they know you are “on it” and
a good sense of what others are seeing and how your troubleshooting efforts are producing results.
they’re approaching performance—and you’re likely Of course, we can’t guarantee they will buy the first
to make some friends who know what you’re dealing round at happy hour in celebration of exceptional
with on a daily basis and can throw you a lifeline. performance…but they just might!
(Shameless plug: Column5’s EPM Summit series is a
great way to rub shoulders with other BPC users and
administrators.)

+1.800.360.7839
info@column5.com
www.column5.com

EPM Performance Basics 8 Improve Your EPM Performance


DO’S CONT. Important:
Be Aware of Your Technology Stack

ŽŽ Do evaluate performance from a holistic perspective. The probable The performance your users experience
cause of a performance challenge is going to be the confluence
is not just determined by configurations
of several contributors, not usually fixable with one silver bullet.
on the client side, or by enabling certain
Each of the incremental improvements should have an impact.
checkboxes on the server. Performance is
Individually they may be small, but taken together, the impact may
be significant. It is important to identify all the active issues in your influenced by every level of the technology
deployment, if for no other reason than that you don’t keep making stack taken as a whole. Adding to the
the same mistakes as you write your next report, as you create complexity, SAP EPM BPC comes in quite
another Budget category, write some new logic, etc. a few flavors (e.g., BPC NW on HANA/
S4HANA, BPC NW with SQL or Oracle or
ŽŽ Do react to performance complaints quickly and with an efficient
step-by-step plan. DB2, etc., and BPC MS) but they all have
the same basic technology tiers: Client,
ŽŽ Do be calm and confident. There is always something that can be Application, and Database. In addition to
done to polish your solution and improve performance. If you lose
the products and hardware at each level
hope or appear to be unsure in tension-filled moments, your users
of your environment, another constraint
will turn on you very quickly.
is the infrastructure connections between
ŽŽ Do make sure you get appropriately qualified resources to assist with the different components within a stack.
performance issues. Column5 offers an EPM Assessment, which Multiplying this complexity, depending
is an excellent place to start identifying performance influencing on the way your system is implemented,
factors across your solution.
you could have a “Single” server
(application and database on one server),
“Multi” server (database and application
separated), or “High Availability” (multiple
application and database servers). Don’t
forget the potential permutations on the
client side where all queries start. This
could include laptops, desktops, remote
desktops, virtual desktops, and Citrix. As
you can see, this can quickly get quite
complicated. Knowing how information
flows across an EPM landscape is
essential to credibly diagnose and solve
any performance or stability issues you
may encounter.

+1.800.360.7839
info@column5.com
www.column5.com

EPM Performance Basics 9 Improve Your EPM Performance


Performance Troubleshooting Flowchart

The below flowchart isn’t perfect for all situations, but it provides a structured approach to isolating the problem and
forming a strategy to resolve the issue. Use this chart in conjunction with the detail sections that follow to get a handle on
your performance issue before reaching out to a third party for help.

Check Client
Troubleshooting

YES

PERFORMANCE Is It One
PROBLEM Client
REPORTED Machine?

NO

Check Check
Check Server
Infrastructure Contention
Troubleshooting
Troubleshooting Troubleshooting

+1.800.360.7839
info@column5.com
www.column5.com

EPM Performance Basics 10 Improve Your EPM Performance


Client Troubleshooting

Overview

When you encounter issues with performance and can isolate them to a single machine or a common configuration
that is consistently slower or more problematic than others, you need to start with gathering information to be able to
identify the precise issue.

First, start by verifying the issue is indeed occurring on a single machine. Try performing the identical activities on a
second client machine to see if there is a significant gap between this machine and another. Could it be the location
on the network? Is it a certain configuration that machine has, either software or hardware? Rarely do we see just one
machine perform poorly, so our challenge is to isolate the set of circumstances that makes this machine (and this user,
frequently) encounter a subpar experience with their EPM solution. If we follow the basic hardware recommendations
(8 GB RAM, 4 CPU cores, solid state drive) we should be OK from a client hardware perspective; at that point, we need
to think about the software versions, starting with Office. Some performance and stability issues occur more frequently
with certain versions of Office and/or Excel.

If a clear correlation with a client configuration detail and the performance issue does not emerge from this quick
analysis, then begin the troubleshooting process by interviewing the user reporting the issue. Do they have certain
windows open when the problem happens? Do they encounter similar problems with other applications? Is there a
similar issue in native Excel without BPC even being active? Does the issue happen at random times, or can they predict
when the issue will appear? If the answer to any or all of those questions is yes, review the section on Contention for
Resources Troubleshooting on page 16.

In versions of Microsoft Excel which can have performance and stability impacts, the presence or lack of service packs can
also influence the same; in addition, 64- vs. 32-bit Office/EPM clients (the SAP BPC client software version you installed)
can also impact performance. On occasion, there may be a software conflict with the combinations of applications and
versions installed on a given client machine. In the case of the latter scenario, this is often hard to detect, since users
are not always aware of what applications are active or even installed. Pay attention to active add-ins in Excel if you
suspect a software conflict exists. You can see what add-ins are active in most recent versions of Excel by accessing
File >> Options >> Add-ins.

+1.800.360.7839
info@column5.com
www.column5.com

Client Troubleshooting 11 Improve Your EPM Performance


How to: Investigate Performance Issues

The basic strategy to keep in mind is to first understand the issue as best you can, analyze the information, and then
precisely identify the resolution. Too often, clients panic and start changing what amounts to random settings all over
the solution landscape. Without intending to, this flailing approach to troubleshooting injects new variables and new
performance problems into the mix compounding the original problem. Instead of this chaotic approach, take your time
and use all available information sources to be more deliberate before making any adjustments. There are several resources
available to access on the client side to gather information for investigating the source of poor performance.

Windows Event Logs


Windows will report machine-level faults that the
operating system can detect. Keep in mind: From a
user perspective, the perception that “BPC is broken”
can be triggered by a fault originating from any level of
the system, including their local machine. All too often,
we find a basic defect with a red error indicator in the
event viewer. Be sure to rule this condition out before
proceeding too far.

Windows Performance Monitor/Data Collector Sets


Windows can report on the physical computing
resources available and what tasks and activities are
consuming them. By monitoring what is happening
when the machine appears to be struggling, a fairly
accurate hypothesis can often be formed. Storage (either
space or I/O activity) is an issue that often indicates large
queries are being run that exceed available RAM. RAM
being exhausted could be a large process or contention
with other applications. If RAM is available but the
service is not expanding to consume more of it, consider
moving to 64-bit to better access memory resources.
CPU spikes in utilization indicates significant work is
being done locally; look for a runaway calculation, or
tedious formatting rules being parsed in the suspect
user interface.

+1.800.360.7839
info@column5.com
www.column5.com

Client Troubleshooting 12 Improve Your EPM Performance


BPC Logs
Customizable BPC logs are created on the client that you
can look at to determine where there are bottlenecks.
These are turned off by default to save resources. When
enabled, they can display valuable information useful for
troubleshooting.
BPC Log built into Excel EPM add-in

You can use the FLMXLClient.dll-ExcelLogConfig.xml file to record


client performance and see where the issue might reside, including
server, formatting, and initial query, among many others. This
requires specific setup steps to enable and should not be left on
all the time. It is meant to log errors and performance issues, then
turned off when not in use. There are additional files for Word and
PowerPoint error and performance logging.

FLMXLClient.dll-ExcelLogConfig.xml

Fiddler

You can also use a tool called Fiddler. For example: If


you are having issues with reports that are slow to
refresh, this tool will give you an idea of how long the
client takes to send a request and how long it takes to
receive a response from the web server. If your report
is taking 5 minutes to refresh and the time it takes to
send and receive a response from the web server is 10
seconds, it will point you in the right direction in terms
of troubleshooting.

−−Install Fiddler on the client from:


http://www.fiddler2.com/fiddler2/version.asp

−−Launch Fiddler2.
−−Close any Internet Explorer sessions.
−−Launch BPC for Excel and re-create the error.
−−Save the trace file as a saz file.

+1.800.360.7839
info@column5.com
www.column5.com

Client Troubleshooting 13 Improve Your EPM Performance


EPM Add-in for Excel Important:
MS Excel & Office
During the launch of the EPM add-in, Excel processes should
be monitored for client resource usage, as from the moment the »» Office 2010 and 2013 perform better
application is launched, the consumption of resources begins. When than 2007 because of multi-threading
you run a report, the EPM add-in is where the first part of the query (i.e., more than 1 process can happen
is started. It’s sent to application server, the application server then at the same time).
runs queries against the database, and finally the results are brought
»» Office 2016 has some lingering
back to the client through the application server. As a result, close
stability/performance issues as of the
attention should be paid to how the add-in is functioning. Some of
writing of this document (see SAP
the most common sources that contribute to inferior performance are:
Note 2578506).
»» SAP BPC client software comes in
»» Issue with Excel itself (excessive resource consumption,
32- and 64-bit versions, just like Excel.
conflicting add-in enabled).
32-bit Excel can run the 32-bit and
»» Logic leveraged in the report such that it is calculated in the front 64-bit EPM add-in and vice versa…
end (filter statements, comparisons, local member formulas). but shouldn’t. Match the EPM add-in
»» High volume of data being queried from the database (users may structure (32- or 64-bit) to the Office
not be aware of how much data they are requesting when the platform version. The clear majority
workbook has multiple tabs). of the customers around the world
have installed the 32-bit version of the
»» Out-of-date client software version: SAP and Column5
client, regardless of Excel version. 32-
recommend that you always work with the latest patch/support
bit Excel is limited to accessing 2GB of
packs of the EPM add-in client, as they may resolve the existing
RAM workspace. By implementing 64-
issues. Important: The new patch/support pack should be
bit, a virtually limitless amount of RAM
thoroughly tested with Excel on one user’s machine and before
can be accessed, but only a very small
being pushed out to the rest of the users. With BPC v10.0 and
performance improvement will be
above, the client and server are separated in different service
realized in terms of speed of processing.
packs. (In versions prior to v10.0, client and server service packs
More important, the ability to access
had to match. This is no longer the case.)
more RAM means larger processes can
»» Avoid EPMRetrieve/Send – EvDre – Evsnd/get. Use EPMReport now be run on the client successfully.
instead. Keep in mind, it is not necessarily a
»» One large report will perform better than many smaller ones good idea to run large processes on the
(tabs). client; those should be saved for the
server whenever possible. Knowing
»» Avoid complex formulas mixing EPM and native Excel functions.
where and when to subject the client
to a large processing load is subjective,
»» Avoid mixing EPM Report, EPMRetrieveData/send, and but having the versions aligned (64-bit
EPMCommentFull/Partial, because each is a separate server call. BPC client on a 64-bit Excel) enables
»» Watch out for too many or overly complex formatting rules or the BPC processes to access the most
mixing Excel/BPC formatting. memory.

+1.800.360.7839
info@column5.com
www.column5.com

Client Troubleshooting 14 Improve Your EPM Performance


Conclusion:

Client Troubleshooting
When troubleshooting the client, it is important to have an overall understanding of the
flow of information from the client, over the network, to the server and back. By gathering
information at key monitoring points to make sure the client can efficiently process tasks
and communication, the system should work well. This is, of course, based on having
the best practices from a functional perspective. If we have an inefficiently built report or
incorrectly written logic that is called during a send, no amount of client resources will “fix”
the issue. When validating that these components are in place, indicators may reveal that
the communication flow is being impeded by one or more misconfigured or unavailable
resources. Armed with the insight into the root cause, an effective remediation strategy
is simple to determine.

+1.800.360.7839
info@column5.com
www.column5.com

Conclusion: 15 Improve Your EPM Performance


Contention for Resources Troubleshooting

Overview

One of the most frustrating scenarios in EPM performance troubleshooting is the inconsistent slowdowns experienced,
seemingly at random and to varying degrees. The Column5 team has heard users say things like, “Sometimes it’s slow,
other times fast” or “Depending on the time of day/week/month, it starts out running well, and seems to fade later in the
day.” This kind of client insight is almost always an indicator of resources that are being used by multiple requests from
different solutions (not necessarily BPC). The perceived symptom is very similar in that there is not a consistent amount
of resources available at specific times. Asking additional questions may point us in the right direction, such as “Does it
always happen during month end or when a lot of users are in the system?” That scenario could point to a convergence of
users spiking to consume unusually high resource levels.

Let’s look at one scenario to further illustrate this condition. If an EPM solution was installed on dedicated hardware with
64GB of physical RAM (where no other process was using that machine), one could reasonably expect the maximum
resources of RAM available at any one time will be 64GB, allocated across solution tiers. However, this is not how servers
are often deployed in the modern landscape.

With virtualized servers, the physical RAM is often much greater than 64GB—perhaps 256GB or more—and this physical
resource pool is allocated across numerous virtual servers. EPM may be just one of several solutions/processes supported
by the physical server. This is where it gets tricky, because the amount of RAM resource allocated via software to the EPM
process is the same 64GB, but there may be 5-10 other servers with dynamic memory allocations that could potentially
claim those same physical resources. If all the processes are busy at the same time, there may be a crunch for available
resources—sometimes without any of the users realizing it.

RAM is only one example. CPUs, storage, network bandwidth, and other key components in the hardware stack have been
virtualized to allow cost pooling and resource sharing. We think this is a fine idea in theory, but when done improperly in
practice, it can inject some risk to consistent performance from less-than-transparent places.

In other words, don’t overload the hardware!

+1.800.360.7839
info@column5.com
www.column5.com

Contention for Resources Troubleshooting 16 Improve Your EPM Performance


CPU & RAM

The number of processors and amount of RAM resources made available to different solution tiers can be an obvious
bottleneck. This is seldom a problem with contention from other, unseen competition; this typically comes from competitive
processes running within the same server. The Column5 team has seen some confounding situations where resources
were drained by less-critical activities performed at the worst possible time. Common examples include:

Anti-virus Activity
Running anti-virus scans on inappropriate (too broad)
scope, or too often, or “real-time” scanning are the
culprits here. It’s the 11th hour and hundreds of users
are trying to submit their final budgets. Meanwhile, the
server decides this is a perfect time to run a full scan
of all data and database records to ensure all files are
virus-free. Meanwhile the users are complaining that
performance has just dropped off a cliff.

File Backup
Backups are important; you’ll never have Column5
recommend otherwise. A full backup taken every 5
minutes is unhelpful, however, and the server may be
so busy fulfilling this request that it’s all but unavailable
to service user requests. Backing up is essential for
recovering a system that has gone down, but can
also cause performance issues, especially with virtual
machines. Copying backup files across a network can
cause performance issues on the servers and network,
depending on the size of the files and speed of the
network.

Virus Activity
Not to be confused with anti-virus activity, sometimes
a system can be infected with a virus or be targeted
by a DDOS attack. The result of either is the system’s
resources are being consumed inappropriately and are
unavailable for EPM users.

+1.800.360.7839
info@column5.com
www.column5.com

Contention for Resources Troubleshooting 17 Improve Your EPM Performance


Excessive (but “normal”) Requests
Depending on the system design, even dedicated
resources are sometimes used inappropriately to
fulfill ill-advised requests. Uploading large files to a
server or performing maintenance tasks (file indexing,
defragmenting a drive, etc.) at poorly considered times
can consume resources inappropriately.

Poor Housekeeping
When admins and developers get sloppy, they leave
telltale evidence all over the environment. BPC,
databases, operating systems and technical platforms
all contain numerous logging abilities which can be
enabled. They accumulate data while running and this
data can be analyzed to determine root causes for
poor performance. There are times when these utilities
are absolutely required. Sloppy technical workers can
sometimes leave them enabled or leave their log files
lingering on the system, which chews up precious
resources when users may need them. Be very judicious
about turning on logs, and always clean up after yourself.

+1.800.360.7839
info@column5.com
www.column5.com

Contention for Resources Troubleshooting 18 Improve Your EPM Performance


Storage

Another frequent cause of performance problems is a Storage Area


Network (SAN). This is a data storage appliance that can be partitioned
out into many logical drives, but not necessarily many physical drives.
A common recommendation in EPM performance is to spread intensive
disk activities across multiple physical disks, so as not to inherit physical
performance limitations of one disk being split across multiple tasks.
Numerous drive letters could be assigned to one physical drive in an
effort to comply with install recommendations and prove to be less
efficient than one disk, since all drive letters are really the same physical
device. This circumstance should be avoided because we aren’t really
splitting the activity across disks, just giving them different names on
the same disk.

To prevent numerous requests accessing the same resource inadvertently


in a SAN, devices belong to a Logical Unit Number (LUN), and drive
letters will be split to different LUNs specifically to avoid this type of
contention. Processes other than EPM are also accessing the same SAN,
however, and similarly have their requests split across LUNs. You can
probably see the problem: In a complex environment where the priority
is to share resources wherever possible to keep costs down, the further
you stray from dedicated hardware on a 1:1 ratio, the more likely you will
encounter this kind of overlap in the backroom where multiple requests
hit the same SAN. This becomes even more complex when discussing
virtual machines, since a single physical host can only have one SAN
connection for the virtual machines installed on that host. In this case,
it may make sense to split the application and database server across
multiple virtual machines on multiple virtual hosts. You can also look
at software that reduces disk contention. Input/output (I/O) contention
is the degradation of performance that occurs when a disk or virtual
machine is busy communicating over its internal network to the point
where a “wait condition” is created. Each of the processes is competing
for finite I/O resources. I/O contention is often seen in instances of heavy
workloads when there is a high number of reads and writes to a rotating
disk, causing latency and bottlenecks. This condition is more likely to
occur when EPM software has been located directly on the database
layer of the technology stack.

+1.800.360.7839
info@column5.com
www.column5.com

Contention for Resources Troubleshooting 19 Improve Your EPM Performance


Bandwidth

It’s easy to take bandwidth for granted, and even assume that it is essentially
limitless. Despite increasing ubiquity of storage resources, this resource can also be
a source of contention. Wireless connection to the internet everywhere is driving a
new capability present in almost all products—called Internet of Things (IOT)—that
is creating mountains of data traffic to enable hypothetical analysis. We won’t get
into the validity of the use case for your toaster being connected to WiFi, but there
is application for EPM. This trend can be seen in mobile devices easily connecting to
EPM data, as well as the emergence of cloud and hybrid EPM services supporting
much broader deployments that open up EPM data access to more and more users.
Yet, for critical functions, bandwidth is too often constrained.

On the micro level, impeded bandwidth for communication between a client and the
server can cause major issues. On a macro level, bandwidth for communication from
all clients or from server to server can be an all-too-limited resource at the worst
times.

Bandwidth overconsumption is not a new challenge, and software configurations


have been developed to manage data traffic prioritization. However, hidden mistakes
are often made in priority (a.k.a., quality of service or QoS) configurations. Priorities
for bandwidth can be set to match the mission criticality of the application. Thus, if
BPC traffic was not granted a high priority on a busy network, the slow speeds may
actually be the result of a deliberate setting! Despite the best efforts to manage the
contention, busy processes that converge communications to centralized resources
often consume bandwidth at the worst times. And despite the advances, bandwidth
to some remote locations is inherently constrained.

There are workarounds available to address these challenges. For example, BPC
has features to work in an offline mode, where communications are not constant
as they are in the more typical online mode. Certain report design techniques place
more stress on bandwidth. EvGET, EPM Retrieve functions, and other cell-by-cell
querying are very “chatty” data communication methods that have many more
packets per report of a given size. This mode of reporting is especially vulnerable to
underperforming in high latency networks. Citrix and Remote Desktop solutions can
offset some of these high latency conditions, but should not be used to mask poor
design in the solution or objects. Knowing the tradeoffs for these features requires
a full understanding of available options. It is important to remember that Citrix and
RDP are workarounds for slow network connections, but they also must be sized
appropriately to ensure superior performance.

+1.800.360.7839
info@column5.com
www.column5.com

Contention for Resources Troubleshooting 20 Improve Your EPM Performance


Conclusion:
Consclusion:
Contention for Resources
Contention for Resources
Whatever the resource that is experiencing contention, avoid the temptation to categorize
Whatever the
the resource that as
experience is experiencing contention,
a “BPC problem,” evenavoid the temptation
though your users to categorize the experience
will certainly perceive itas a “BPC
problem,” even though your users will certainly perceive it as such. When such a problem crops up—and it will, unless you
as with
are proactive such. When such
performance as aaholistic
problem crops up—and
process—there it will, unless
is no substitute you are
for excellent proactive and
documentation witha thorough
understanding of your solution configuration and how the load placed upon your resources is changing. Such insights will
performance as a holistic process—there is no substitute for excellent documentation
be essential to implement a logical process to identify and prevent an organization from jumping to conclusions about
and aany
what is causing thorough understanding of your solution configuration and how the load placed
instabilities.

upon your resources is changing. Such insights will be essential to implement a logical
A seasoned technician must know where to look for indications of the responsible resource fading in and out of availability,
process
and they need to identify
to scour andfor
the metrics prevent an organization
the physical from jumping
resources supporting to conclusions
each resource for whatabout whatbe causing
may really
the suspect performance.
is causing any instabilities.
It may well turn out to be a “once-in-a-lifetime occurrence” when two processes collide on a shared resource, but that’s
rarely the case. If shared resources are overloaded and configurations are not done carefully, performance challenges like
A to
this are likely seasoned technician
recur at the worst time.must
Thinkknow where demand
of processing to lookduring
for indications
the end of a of theyear
fiscal responsible
or month-end close:
Unfortunately, that is the
resource mostinlikely
fading andtime
outforofproblems to arise.
availability, and they need to scour the metrics for the

If a client isphysical
lucky, thisresources supporting
kind of contention each
may not beresource for what
commonplace. may really
Nonetheless, it isbe causingtothe
important suspectit and take
understand
steps to avoid it. At a minimum, you should know where to look to confirm contention; that will allow you to know whether
performance.
an issue has the potential to metastasize or if it simply needs to be waited out. Being able to explain with certainty is a
much better position to be in than saying, “It’s that darn EPM solution slowing down by itself again.” We know you’d prefer
a more intellectually honest explanation than that, and your users will appreciate it, too!
It may well turn out to be a “once-in-a-lifetime occurrence” when two processes collide
on a shared resource, but that’s rarely the case. If shared resources are overloaded and
configurations are not done carefully, performance challenges like this are likely to recur
at the worst time. Think of processing demand during the end of a fiscal year or month-
end close: Unfortunately, that is the most likely time for problems to arise.

If a client is lucky, this kind of contention may not be commonplace. Nonetheless, it is


important to understand it and take steps to avoid it. At a minimum, you should know
where to look to confirm contention; that will allow you to know whether an issue has the
potential to metastasize or if it simply needs to be waited out. Being able to explain with
certainty is a much better position to be in than saying, “It’s that darn EPM solution slowing
down by
+1.800.360.7839 itself again.” We know you’d prefer a more intellectually honest explanation
info@column5.com
than that, and your users will appreciate it, too!
www.column5.com

Consclusion: 21 Improve Your EPM Performance


Infrastructure Troubleshooting

Overview

Infrastructure is the technology responsible for the network topology – the switches, routers, firewalls, load balancers,
domain services, SANs, network cabling, WAN and LAN connections, network service software (like QOS, Anti-virus, and
other solutions that manage network activities), and much more. The job of a well functioning network infrastructure is to
connect users to software services and resources in as efficient a manner as possible. Of course, this connection of users
to services also has to be secure, always available, and easy to navigate. That is difficult to manage for companies with
operations distributed around the globe.

Throw BPC into the mix with its usage patterns, sometimes working in read only mode and infrequently, but other times
in highly iterative plan development mode with small data changes sent over a network that are expected to trigger big
data changes and refresh reports in real time. EPM solutions place a unique strain on the network and components when
under high usage cycles like a budgeting process involving 1000’s of users or a month end close where users simply can’t
get access to their updated reports fast enough.

To meet the varying demands of BPC’s use cases, a high performance network infrastructure is required. It is also very
important to understand just how BPC places a load on network resources so you can optimize performance, or take
corrective action in the event of a failure or solution outage.

+1.800.360.7839
info@column5.com
www.column5.com

Infrastructure Troubleshooting 22 Improve Your EPM Performance


Example query using EPMRetrieve vs EPMReport:
Network Latency
EPMRetrieve – cell 1
Some networks are slower than others. Although this fact Select from fact table where ACCOUNT=‘PL010’ and
has nothing to do with BPC itself, it can still significantly AUDITTRAIL=‘input’ and CATEGORY=‘actual’ and
affect performance. Certain functions exacerbate the ENTITY=‘Germany’ and INTERCO=‘I_Germany’ and
weakness of a high latency network (over 100ms). PRODUCT=‘Sedan’ RPTCURRENCY=‘LC’
By running a “trace route” (at command prompt, type
“Tracert IP Address of the web server”) from a client to EPMRetrieve – cell 2
the server, you can identify how many hops and what the Select from fact table where ACCOUNT=‘PL020’ and
latency is between each hop, measured in milliseconds. AUDITTRAIL=‘input’ and CATEGORY=‘actual’ and
The more hops and the longer each hop takes can have ENTITY=‘Germany’ and INTERCO=‘I_Germany’ and
a negative impact on performance. PRODUCT=‘Sedan’ RPTCURRENCY=‘LC’

A high latency network has a slow or lengthy journey to EPMRetrieve – cell 3


send messages from the client to the server. Each packet Select from fact table where ACCOUNT=‘PL030’ and
takes a certain number of milliseconds to transport AUDITTRAIL=‘input’ and CATEGORY=‘actual’ and
from the client to the server and receive a confirmation ENTITY=‘Germany’ and INTERCO=‘I_Germany’ and
back that the packet arrived safely. Cell-by-cell queries, PRODUCT=‘Sedan’ RPTCURRENCY=‘LC’
such as the legacy “EvGET” or current EPMRetrieve
functions, treat each cell as a standalone query (i.e., Same query for EPMReport for all 3 cells
each cell is an individual data packet). In a high latency EPMRetrieve – cell 1
network, you could approximate the total report time by Select from fact table where ACCOUNT=‘PL010, PL020,
taking the amount of time it took to get one cell from PL030’ and AUDITTRAIL=‘input’ and CATEGORY=‘actual’
the server plus the network latency multiplied by the and ENTITY=‘Germany’ and INTERCO=‘I_Germany’ and
number of cells. The upgraded EvDRE and the more PRODUCT=‘Sedan’ RPTCURRENCY=‘LC
recent EPMReport function much differently and do not
suffer the same problem. In fact, our tests show as few
As you can see, EPMRetrieve will create a separate query
as 20,000 EPMRetrieve cells can bring an entire system
for each cell, while EPMReport uses single query for all
to a complete crawl, while an EPMReport delivering the
cells.
same data in the same system ran in under 20 seconds
on the same hardware.
Not knowing this, some customers structure reports with
individual cell-based queries required to go to the server
and come back to enable the report to fully build out.


An example of this would be any combination of BPC
functions and Excel functions that look up some data
...as few as 20,000 EPMRetrieve from BPC, then use that data as a variable in the report
build out. This particular problem sentences the report
cells can bring an entire system to a to operate in a serial fashion, with each function going
complete crawl... back and forth to the database to fully resolve. This
type of technique could create a serious problem in a
high latency scenario, and even in systems without high
network latency, it’s inefficient and should be avoided.

+1.800.360.7839
info@column5.com
www.column5.com

Infrastructure Troubleshooting 23 Improve Your EPM Performance


cloud 5
Internet Connection Cloud

BPC can be implemented to allow client connections Column5 has made available many blog posts and
outside the firewall to receive EPM related services. The presentations on the proper consideration for cloud
detailed requirements for which are included in your deployments of EPM. Certainly, cloud products are being
version’s install documentation provided from the vendor. positioned as the panacea to solve all software problems.
If you are connecting from your home, mobile connection, Life is never so simple, and the reality is cloud solutions
or a remote office that relies on an internet connection can be subjected to the very same challenges on premise
to send and receive data from the servers, this situation solutions can. In the context of infrastructure, the cloud
of traversing varying connections, firewalls, and other can subject your EPM experience to other bottlenecks
hurdles is a notorious weak link when communicating not easily detected or controlled by users or your internal
with the solution. If the latency gets to be too extreme, IT team. Be sure to get your cloud connections optimized
consider offline solutions (book publishing or email), in the event you are having any sign of issues.
remote access screen sharing solutions (Remote Desktop/
Citrix), or other workarounds to minimize reliance on a As mentioned in other areas of this document, you may
live connection to the database. notice slow downs at certain popular usage times due
to resource contention originating with other companies
If you connect to BPC using a VPN or other secure mode – not just within your organization. You may have an
of communication from outside a firewall, the security and untrusted security relationship with resources in the
processing of that connection may introduce additional cloud requiring multiple authentications. There may
constraints. Be aware of how your interaction with the be other performance chokepoints introduced when
servers is being treated, and what your data packets may deploying to the cloud, and it is important to consider
be subjected to as part of your network policies. A high these complexities when troubleshooting issues.
security connection isn’t always going to be the fastest!

+1.800.360.7839
info@column5.com
www.column5.com

Infrastructure Troubleshooting 24 Improve Your EPM Performance


Network Security

Clients often seek to balance tight security with usability concerns. On one end of
the spectrum, a single sign on (SSO) environment is the most user friendly, while
a policy requiring unique credentials for each application is the most secure. BPC
can be configured to have unique user IDs or harmonious with SSO environments
with NetWeaver or ActiveDirectory type security. Keep in mind that however a
security scheme is configured, the user authentication has to be done somewhere.
If the authenticating server like a domain controller has a poor connection or is
overloaded, then signing on will carry a performance penalty.

As BPC is a “stateless” application, meaning when a report is done refreshing, the


user is disconnected from the database, security authentications happen frequently
when users are iteratively accessing and refreshing reports. An inefficient security
configuration may add several seconds or more to the time the report takes to
refresh, adding to users’ frustration.

+1.800.360.7839
info@column5.com
www.column5.com

Infrastructure Troubleshooting 25 Improve Your EPM Performance


Conclusion:
Consclusion:
Infrastructure
Infrastructure
Configuring a corporate network to perform at best practice efficiency is a well understood
Configuringprocess
a corporate
thatnetwork
manytoorganizations
perform at best do
practice
well.efficiency
However, is a well
thereunderstood process complexities
are emerging that many organizations
do well. However, there are emerging complexities with public and privately hosted services that conspire to create complex
performancewith public and
situations. Even privately hosted
in a traditional servicesdeployment,
on premise that conspire to create complex
the combination performance
of network qualities unique to an
organization (like remote offices accessing corporate resources via slow or unpredictable WAN connections) and certain
situations. Even in a traditional on premise deployment, the combination of network
design techniques can work together to have an adverse performance impact.
qualities unique to an organization (like remote offices accessing corporate resources
This is why a comprehensive approach is necessary. Evaluating one aspect of the solution (server resources, network speed,
via slow or unpredictable WAN connections) and certain design techniques can work
or design) in isolation is often not an approach that will reveal all issues impeding performance. Any BPC administrator
together
should understand to the
how have an adverseis performance
infrastructure impact.
configured, what connections must be traversed by the servers, what users in
various locations have to cross to connect, and how the solution design utilizes this topology. This kind of knowledge can
be invaluable when it appears “BPC Isn’t working” only to realize a critical WAN connection has failed.
This is why a comprehensive approach is necessary. Evaluating one aspect of the solution
Column5 wants our readers to be assured there is always an explanation as to why there is slow or inconsistent performance,
(server resources,
and when evaluating network
which factors speed,
are causing orissue,
the design) in isolation
admins is often
are surprised not an
to learn it isapproach
not often athat will
failure within BPC
itself. reveal all issues impeding performance. Any BPC administrator should understand how
the infrastructure is configured, what connections must be traversed by the servers, what
users in various locations must cross to connect, and how the solution design utilizes this
topology. This kind of knowledge can be invaluable when it appears “BPC Isn’t working”
only to realize a critical WAN connection has failed.

Column5 wants our readers to be assured there is always an explanation as to why there
is slow or inconsistent performance, and when evaluating which factors are causing the
issue, admins are surprised to learn it is not often a failure within BPC itself.

+1.800.360.7839
info@column5.com
www.column5.com

Consclusion: 26 Improve Your EPM Performance


Server Troubleshooting

Overview

BPC requires a multi-tier technology stack. Database servers, application servers, and clients work together to deliver the
BPC service you know and love to your clients. In other sections of this eBook, we have discussed challenges with clients,
infrastructure, and contention on servers. Now let’s dig into some server-specific troubleshooting tips.

At the risk of stating the obvious, setting up the server correctly is essential for good performance and routine monitoring
is critical for sustaining good performance over time. Both conditions require a detailed knowledge of how to get and keep
the server for your version of BPC running at peak efficiency. Often, that knowledge is specific to your particular version of
BPC. In addition to version numbers, there are also varying platform versions: BPC Microsoft (Standard), BPC NetWeaver
(Standard), BPC HANA (Standard & Optimized), and then versions in between across those platforms. (Selecting the
right version and platform for your organization is beyond the scope of this book, but we’re happy to opine—just contact
Column5 today!)

+1.800.360.7839
info@column5.com
www.column5.com

Server Troubleshooting 27 Improve Your EPM Performance


BPC NW & NW on HANA Versions

Customers on the NW and HANA platforms seek to exploit the benefits of close alignment with SAP Financial Systems.
This is an excellent goal and can be a tremendous source of value when seeking a tightly integrated planning and analytics
platform. However, that vision of a unified platform elevates the importance of performance to even more critical levels. A
unified platform working inefficiently is not much better than third party, non-integrated solutions working side by side.

Because both BPC NW on HANA, and BPC NW require the BW portion, a lot of the performance tuning is very similar
with any configuration of BPC NW with HANA or with any other database. BPC 10.x on HANA now supports MDX, which
has been pushed down to the HANA layer; however, we need to ensure performance is not negatively affected, since it
is still not the best option compared to alternatives such as custom written (and HANA optimized if present) logic, or the
easier to use Darwin DarCE module.

While HANA is going to provide favorable performance Even with this stack setup with the right versions and
across the board with everything else being equal, but sizing, the BPC NW & HANA versions can experience
it still requires prudent management and attention that some performance challenges. Look for the following
can affect performance outcomes. Therefore, we need common approaches, symptoms and considerations to
to: resolve performance problems:
»» Ensure the environment gets off to a good start with
a proper system sizing with a System Landscape Analyze the problem:
Design
Turn on BPC_STATISTICS, and use transaction
»» Make sure you are getting all performance advantages
UJSTAT to gather information about the server
by having a recent SAP HANA patch level in place.
performance. This information will provide insight
(See SAP Note 2115815 for more information
into which process or solution components may be
related to SAP HANA patches and upgrades.)
responsible for poor performance.

Special attention: If HANA has been recently


Frequent uses for this diagnostic tool:
upgraded, ensure that HANA client on all the
application servers is also updated to newer »» What type of query a report is creating (RSDRI or
version. Numerous companies have upgraded MDX)
HANA and not the HANA client. »» Run Time of a step and Cumulative Run Time for the
entire EPM activity, like report/schedule activities
»» Check Product Component Matrix for SAP Business »» Better to see a more complete process, preferably
Planning & Consolidation 10.1, version for Net over a few minutes
Weaver 7.40/7.50/7.51 SAP Note 2103585. Ensure
that all components such as BW SP, SAP_UI, and »» Do not leave running—use judiciously
HANA revisions match recommendations from SAP »» UJ0_STATISTICS_DELETE: Purges BPC statistics – no
for the BPC Service pack you are running need to keep them forever

+1.800.360.7839
info@column5.com
www.column5.com

Server Troubleshooting 28 Improve Your EPM Performance


»» Script or SQL Logic – This type of logic may contain
NetWeaver Monitoring/Troubleshooting: MDX syntax. To find out for sure, an EPM Assessment
Basic NW commands can be run to monitor would be required.
key system qualities. This is useful in narrowing »» Sophisticated report filtering defined in legacy
down a problem. versions of BPC (dating back to OutlookSoft) may
invoke MDX. If you have been rolling over reports
since BPC version 5 or earlier, you might have MDX
»» ABAP Dumps (ST22)
lurking in your reports! (NB: BPC NW started in v7.x,
»» System Performance (ST02) so if you think you have an “old” version of BPC, it
»» Process Overview (SM50) would have had to been implemented on Microsoft,
then migrated to NW at a later date. This situation is
»» MDXPARSER (SM59)
very rare.)
»» RFC Trace (ST01 & ST05)
»» Profile Parameters (RZ10 & RZ11)

Symptom: Certain logic queries run in batch and


reports & input schedules that call default logic,
can perform poorly on the BPC NW and NW on
HANA version of BPC. MDX, in particular, is a
significant problem. Many consultants with long
history working with BPC may rely on MDX as a
preferred syntax. HANA does better with MDX but
lags behind MS SQL Server and BPC Microsoft.
MDX works much better on the Microsoft version,
but should be used as a last resort option if at
all on BPC NW. Custom ABAP or a calculation
organizing and performance optimizing solution
like the Darwin DarCE engine should be used
instead.
Symptom: Consistently seeing CPU, RAM, or
storage resources utilized at or close to capacity.
»» Aggravating factor – customers seldom realize when
a consultant (or their internal team) may have used
»» Cause: The system has not been sized properly;
MDX. These are the most likely places to find MDX
inadequate resources are available to handle the load
syntax:
»» The SAP Application instance has not been patched,
»» Dimension formulas as a rule contain MDX
including BPC components, and conflicts and
»» Custom Measures – If anything other than Periodic, suboptimal communication in the stack are consuming
QTD and YTD are present in the measures dimension excessive resources
– you likely have MDX present. If any changes were
»» Buffer sizing—ensure setup is adequate for current
made to Periodic, QTD or YTD measures – you have
processes, reconfiguring with any change
MDX!

+1.800.360.7839
info@column5.com
www.column5.com

Server Troubleshooting 29 Improve Your EPM Performance


BW tier:
BW tier – BW is often used to service many more
solutions than BPC. As a result, the focus of BW
is rarely the necessary requirements of BPC.
Customers’ IT departments may need to make a
special effort to evaluate the BW configuration
based on the BPC specific needs. In this light, it
may be painful to adjust BW to better enable BPC
while such changes may be incompatible with
other non-BPC processes. If that is the case, BPC
may be temporarily on an exclusive BW instance
configured with BPC at the fore, while the core
BW upgrades at its proper pace. BPC can then
be reintegrated.
BPC specific BW configurations include:

»» Application Set/Environment optimizations


»» Service Packs, notes, profile parameters

»» If ABAP is load-balanced, configure RFC groups and


load balancing of users AND processes
»» Stick to daily VM Snapshots and watch when they are
copied across the network!
»» Watch network performance especially during BPC
busy times, such as month end, year end, budgeting,
etc.
»» Check SAP website often for the latest issues, service
packs, and patches for both the client and server
»» Run BPC Optimize
»» Remember each application server can handle 100
processes, which means a single server should have
no more than about 95 users. If requirements are
for concurrent users above this number, multiple
application servers will be required

+1.800.360.7839
info@column5.com
www.column5.com

Server Troubleshooting 30 Improve Your EPM Performance


Database Considerations for non-HANA Versions

HANA is SAP’s powerful in-memory data appliance. Best possible performance for BPC is available on this version
(assuming proper configuration). Even without HANA, there are plenty of performance enhancing steps that can be taken
on the servers to improve performance. Below is a list of beneficial activities for any BPC version to take.

Managing the storage location and growth over time for


unstructured data is important, watch for uncontrolled
storage expansion for the following objects:

−−Input schedules
−−Reports
−−Journals
−−Data manager packages (process chains)
−−Transformation and conversion files
−−Etc.

»» Even without HANA, SAP’s HANA precursor: BW


Accelerator (BWA) works with BPC
»» Be sure to activate the latest patches of the database
compatible with your other processes & BPC
components
»» Database server not sized adequately – symptoms
would be maxed out resources or errors in logs saying
resources exhausted and requests are being queued
»» Make sure to update statistics often – this step can
address issues and is worth running periodically to
help calibrate the system
»» Database parameters not configured correctly to
handle the incoming queries

+1.800.360.7839
info@column5.com
www.column5.com

Server Troubleshooting 31 Improve Your EPM Performance


Optimizing HANA Memory

SAP HANA (High speed Analytic Appliance) is an in-memory database appliance. As the description implies, a key feature
of HANA is memory (RAM) that features highly scalable IO characteristics that a database server accessing data from
physical hard drives has no chance to match. Because RAM is so important to achieve peak performance from HANA
(there are other aspects too), this resource also needs to be carefully managed.

»» HANA memory usage: To start, we need


to know how to view HANA memory
usage from graphical view. You can view
some of the most important memory
indicators on the Overview tab of the SAP
HANA studio administrative perspective:

Note that this illustration shows the memory


indicators of a distributed system. The first
line shows the sum of all hosts, the second
line shows the status of the host with the
highest used memory.

For an overview, access the Memory Overview


feature of the SAP HANA studio by right clicking on
a system in the Systems View. Then select “Open
Memory Overview” in the context menu, as follows:

»» Some simple rules of thumb can determine


if the memory is properly sized in an existing
system; e.g., that memory size should
be at least two times the backup size.

»» In a first step, we can go to HANA studio


and check out our average backup sizes.

+1.800.360.7839
info@column5.com
www.column5.com

Server Troubleshooting 32 Improve Your EPM Performance


Besides the graphical representation, we can
also view how much memory is allocated for the
different main areas. This information is retrieved in
HANA via SQL: “HANA_Memory_TopConsumers”

»» In this case, sizes are less than 25GB.

We can also check our memory usage and limit in


HANA Studio:

In the example below, we have 148 GB allocation


limit and 51GB: We can see that around .91 GB is used by the column
store, 0.82 GB is used by the row store, and an additional
0.88 GB is used by heap areas that are not an integral
part of other areas. The total memory utilization of SAP
HANA is significantly below the 148 GB limit we saw in
the previous graphic, so we can already conclude that
this server has plenty of safety margin for exceptional
situations and future growth before the 148 GB memory
limit is reached.

**Note: Data volumes can change when changes


in the model occur, and though there is more
than adequate room for the present volume, any
intentional major changes to the data volume should
require revisiting this metric. Since not all data
volume changes are intentional, a better approach
would be to validate adequate room exists in key
resources periodically so this constraint doesn’t
emerge at an inconvenient time!

+1.800.360.7839
info@column5.com
www.column5.com

Server Troubleshooting 33 Improve Your EPM Performance


SAP HANA maintains many system views and memory
indicators to provide a precise way to monitor and Row store reorganization should be performed
understand the SAP HANA memory utilization. The most for memory compaction and to minimize memory
important of these indicators is Used Memory and the segmentation. Online Row Store Reorganization
corresponding historic snapshots. In turn, it is possible to (SAPnote 1813245) can be executed at runtime.
drill down into very detailed reports of memory utilization Since tables that will be reorganized by online
using additional system views, or by using the convenient row store reorganization are exclusively locked, it
Memory Overview or Statistics functions within the SAP is recommended to execute this during off-peak
HANA studio. hours to minimize the interference from other
transactions.

With BPC BW on HANA, Infoproviders and PSA


»» Check if Reorganization is needed: Run Query on
tables are automatically marked as Non-Active.
HANA side:
These Non-Active tables are loaded into RAM, only
when they are accessed, and will be displaced from
RAM, according to priority, in case of a shortage of SELECT HOST, PORT, CASE WHEN (((SUM(FREE_SIZE) /
RAM. SUM(ALLOCATED_SIZE)) > 0.30) AND SUM(ALLOCATED_SIZE)
> TO_DECIMAL(10)*1024*1024*1024) THEN ‘TRUE’ ELSE
‘FALSE’ END “Row store Reorganization Recommended”, TO_
»» Persistent Staging Area—functions as a storage area DECIMAL( SUM(FREE_SIZE)*100 / SUM(ALLOCATED_SIZE),
for the incoming data, before loading into BW. 10,2) “Free Space Ratio in %”,TO_DECIMAL( SUM(ALLOCATED_

»» You can find PSA table names by looking into SE11; SIZE)/1048576, 10, 2) “Allocated Size in MB”,TO_DECIMAL(
SUM(FREE_SIZE)/1048576, 10, 2) “Free Size in MB” FROM M_
give table name RSTSODS, executing the table and
RS_MEMORY WHERE ( CATEGORY = ‘TABLE’ OR CATEGORY =
giving the technical name of the PSA.
‘CATALOG’ ) GROUP BY HOST, PORT;
»» To find the size of PSA, execute the function module
DB_GET_TABLE_SIZE and give the input: technical
name of PSA and execute. Larger tables consume
more RAM resources when active. »» Row store reorganization is recommended when
allocated row store size is over 10GB and free page
ratio is over 30%.
»» If the result of “Reorganization Recommended” is
“TRUE,” then row store memory can be reclaimed
after row store reorganization. Execute Online Row
Store Reorganization command: ALTER SYSTEM
RECLAIM DATA SPACE.

+1.800.360.7839
info@column5.com
www.column5.com

Server Troubleshooting 34 Improve Your EPM Performance


BPC Microsoft

Service Packs & Patches


One of the main areas for improved performance comes with Service Packs and patches applied to an already installed
system. This includes all software on the Client, Database, and Application Tier. You can find more information on the
latest Service Packs and patches below:

Windows/Office SQL/Analysis/Integration Services BPC

Since the application server has Integration


Services and Client tools, ALWAYS apply
patches to ALL servers in a system, Web and
Database

https://technet.microsoft.com/en-us/ http://support.sap.com
www.update.microsoft.com
library/ff803383.aspx

Always install service packs and patches in a development or test environment. Verify through testing that the
system works as expected and no new bugs have been added. This includes not just the Server Landscape, but
the client environment. If everything looks good, apply to production and the rest of the client machines.

+1.800.360.7839
info@column5.com
www.column5.com

Server Troubleshooting 35 Improve Your EPM Performance


Data Collector

Data Collector sets are reusable groups of data related to performance that can be scheduled to be gathered and shared
with other computers. This allows for real-time collection, and analysis of data later. Data Collector is an out-of-the-box
tool that is already set up; you just need to make a copy and schedule the process to run. The tool will create a report that
shows any performance issues with RAM, CPU, disk, services, etc., highlighted in red.

»» User Defined »» System Defined

Create one from a template for basic monitoring, performance, −−Created out of the box including LAN Diagnostics, System
system diagnostic, or create a custom one with the counters Diagnostics, and System Performance.
you want. −−Will create a report you can open in the interface.
−−Logs information to disk (defined by you).

+1.800.360.7839
info@column5.com
www.column5.com

Server Troubleshooting 36 Improve Your EPM Performance


APPLICATION TIER

»» Beyond the way reports, schedules, data manager


packages, or logic are written or configured,
concurrency of users is the biggest factor in application
server performance.
»» Because of the way Windows works, having more
than 8GB RAM and 4 CPU on the application server
will not make a difference. Each server built with the
above-mentioned RAM and CPU can handle 30–50
concurrent users (i.e., people in the system at the
exact same time). Once we go above this threshold,
we must scale out and use a “load balancing” device
to spread the load across multiple servers.

−−View Performance Monitor>Web Services>Current


Connections

−−The page file should not reside on the C or program files drive.
If different from C, it should be on its own.

−−Size the page file appropriately. (See http://support.microsoft.


com/kb/2021748)

−−You can open task manager and add a few columns to the
Processes tab.

−−PeakMemoryUsage (SQL and APP) can be used to see how


much memory a specific process used as a high. This is useful
because it only gets reset when the server is rebooted. SQL
Server memory is inaccurate while SSAS memory is accurate.

−−PageFaults can be used to help determine if a process may


need more memory, disk, CPU, or other resources.

+1.800.360.7839
info@column5.com
www.column5.com

Server Troubleshooting 37 Improve Your EPM Performance


DATABASE TIER

By definition, the database on BPC Microsoft is Microsoft SQL Server. Like all relational databases, indexes on SQL Server
tables can significantly and positively affect performance. BPC has specific indexes built into the product that cannot be
changed except for DimsForFactTblIndex and CustomFactTblIndex. (See details below.) You may add indexes to tables
to make queries more efficient; each time an application or dimension is processed, however, the indexes will be rebuilt
to the default parameters.

The two custom tables that should be adjusted to optimize indexes that are built. DimsForFactTblIndex can be found on
the Web Admin page under the application parameters link. CustomFactTblIndex can be added to the Web Admin page
under application parameters. The Fact and Fac2 tables use a clustered index, while the write-back table uses a composite
index. The default fields and order of the fields for the index are Category, Time, Entity, Account, and RptCurrency. These
should be changed to match the dimensions in the fact tables unique to your solution. We find usually the best index is all
columns, but the order is the most important piece.

With SQL Server’s Database Tuning Advisor, you can run the utility during a send, DTS package, or any other BPC process.
Once the process finishes, you can run a report that will tell you where SQL Server thinks indexes would be best. This can
include temp tables, which may be created during SSIS packages or Logic.

SQL Server Analysis Services (SSAS)


BPC Partition Wizard: This utility is accessed via a webpage built into the BPC 10.1 server environment. It is a drag-
and-drop method of breaking up the BPC fact table SSAS Partitions into multiple smaller pieces. Each of these smaller
partitions creates a separate cache, which can make a significant difference in the time it takes to modify, model, optimize,
and retrieve data—up to 60% better performance!

Important: Column5 has seen better performance when creating partitions manually vs. using the wizard. The most
important piece is to create all partitions first before processing the cube/model.
We also need to think about “data density” when talking about partitioning. We have seen the best performance when
the partitions contain a similar number of records in the “Select” statement. In other words, you do not want one partition
to have 20 million records and another to have 5 million.

+1.800.360.7839
info@column5.com
www.column5.com

Server Troubleshooting 38 Improve Your EPM Performance


Disk
Through all the years that Column5 has worked with
BPC, disk performance is usually one of the biggest
factors (besides SSAS partitioning) in making sure the
Database tier performs well.
Optimal drive configuration would have everything
on separate physical drives or different LUNs in a
SAN. In the case of a SAN, it is less important to have
separate drives/LUNs depending on disk configuration/
performance. Looking at disk performance during high
usage periods will validate whether it is set up correctly.

−−Windows on C:\
−−SQL Programs on D:\
−−Analysis Services Programs on E:\
−−System SQL Database (mdf) on F:\
−−System SQL Logs (ldf) on G:\
Simulated Server Load
−−OLAP Data on H:\
−−Temp DB Database (mdf) on I:\ HP Load Runner is a performance scaling tool that starts
−−Temp DB logs (ldf) on J:\ with a recording of a task (or series of tasks) on the client
−−User SQL Database (mdf) on K:\ side and converts it into a simulated load on various
components that Load Runner can understand. You
−−User SQL Logs (ldf) on L:\
then simulate the effect of many users simultaneously
−−Database Backups on M:\ in the system doing specific processes. At Column5,
our procedure is to look at performance during this
simulation, improve it, then run the simulation again to
It should be noted with the significant proliferation see the gains. This is an iterative process and may need
of VM’s, specifying separate LUNs on a SAN is not to be run 5–10 times to achieve the best performance.
possible. (VMWare only allows one connection to a SAN,
for instance, in some cases.) You should think of VM’s as While this is the most complete way to get the best
writing data to disk in the least efficient way. The use of performance, it is also the most expensive because of the
a product like Condusiv V-Locity or others will improve time involved. Due to Column5’s significant experience
SQL write/read performance by about 50%, based on with Load Runner, we have developed a way to compress
our testing. That may not equate to making the overall the process and reduce the expense as much as possible.
BPC performance 50% faster, because disk IO is only
one part of the equation.
»» Load Runner Free can be used for 50 users or fewer.
»» Note: Column5 has extensive documentation on using
the tool and setup and can assist with load setup and
performance tuning. Contact Column5 for details.

+1.800.360.7839
info@column5.com
www.column5.com

Server Troubleshooting 39 Improve Your EPM Performance


Conclusion:
Consclusion:
ServerServer
Troubleshooting
Troubleshooting
Servers are sophisticated technology that by definition influence every user’s solution
Conclusion:experience, thus it is vital to get the server configured with as much efficiency as possible.
Server Troubleshooting

BPC has a reputation for being more complex than other solutions, but this is based
Servers are sophisticated technology that by definition influence every user’s solution experience, thus it is vital to get the
on confusion
server configured aboutefficiency
with as much the configuration
as possible. requirements. In some
BPC has a reputation cases,
for being IT complex
more departments are solutions,
than other
but this is based on confusion about the configuration requirements. In some cases, IT departments are afraid to touch the
afraid to touch the server and once it is working, leave the servers alone. Sometimes we
server and once it is working, leave the servers alone. Sometimes we find clients with servers that have not been updated
at all for several years. with servers that have not been updated at all for several years.
find clients

As should be obvious, servers for BPC are really no different than servers that support other applications. Clients hosting
their own servers on premise
As should should
be obvious, make an
servers forinvestment to getno
BPC are really the right skills
different than and knowledge
servers in house other
that support to support BPC
further. Alternatively, if configuration and maintenance of these vital servers is not a service internal IT groups are willing
to take on, applications. ClientsServices
Hosting and Managed hostingcan
their
be own servers
procured on premise
from qualified thirdshould make
parties like an investment
Column5.
to get the right skills and knowledge in house to support BPC further. Alternatively, if
configuration and maintenance of these vital servers is not a service internal IT groups
are willing to take on, Hosting and Managed Services can be procured from qualified
third parties like Column5.

+1.800.360.7839
info@column5.com
www.column5.com

Consclusion: 40 Improve Your EPM Performance


Final Thoughts on Performance

Driving the best performance from EPM isn’t a one-and-done process. The system itself and the functions used by finance
change all the time, so monitoring and maintenance must be incorporated into a regularly scheduled strategy. For example,
Column5 performs the necessary steps monthly during the busiest system times as part of the contract for our hosting
clients.

There is no one magic bullet when it comes to performance. Every part of the system plays a role, from technical setup/
configuration to functional aspects such as the best use of logic or report/input schedule building. (Stated differently, you
can build out the most efficient technical system on the planet, but if someone creates terrible logic, that system will still
struggle to perform.)

Looking at performance holistically, from a technical and functional perspective as well at the strategic intent of the solution
– across server and client layers - is the most effective way to achieve the speed, stability, and reliability you want from
your EPM solution. Not only will that improve satisfaction and drive adoption at the user level, it will help your organization
derive full value from your system in its current form and create opportunities to leverage it for future processes.

At Column5, we built our business and reputation on success with EPM, and we want to help
your organization adopt a high value EPM capability. For more information on BPC, EPM, and
related topics, connect with us today on Column5.com.

+1.800.360.7839
info@column5.com
www.column5.com

Server Troubleshooting 41 Improve Your EPM Performance

Вам также может понравиться