SAP BusinessObjects server sizing is part art and part science. When it comes to the Adaptive Processing Server in BI 4.0, adding little magic might not hurt, either. Let’s take a deeper look at the Adaptive Processing Server.
NOTE: I used the Sizing Companion for SAP BusinessObjects BI 4.0 (SPO), document version 0.8 aka v2, June 2011 (file name SBO_BI_4_O_Companion_V2.pdf) when I originally wrote this post. Newer versions have been released but seem to have less instead of more detail than the version they replace. We can only hope that a more complete sizing guide is released with the forthcoming SAP BusinessObjects Business Intelligence 4.0 Feature Pack 3.
The Adaptive Processing Server in SAP BusinessObjects Business Intelligence 4.0 contains twenty-one discrete services. Feature Pack 3 ups the number to twenty-two. Count ‘em.
- Adaptive Connectivity Service
- BEx Web Applications Service
- Client Auditing Proxy Service
- Custom Data Access Service
- Data Federation Service
- Document Recovery Service
- DSL Bridge Service
- Excel Data Access Service
- Insight to Action Service (FP3 and higher)
- Lifecycle Management ClearCase Service
- Lifecycle Management Service
- Monitoring Service
- Multi Dimensional Analysis Service (MDAS)
- Platform Search Service
- Publishing Post Processing Service
- Publishing Service
- Rebean Service
- Security Token Service
- Translation Service
- Visual Difference Service
- Visualization Service
- Web Intelligence Monitoring Service
The Adaptive Processing Server made its debut in SAP BusinessObjects Enterprise XI 3.1. But in that release, the Adaptive Processing Server contained only four discrete services. But how should we determine a proper sizing? SAP provides us with the SAP BusinessObjects Enterprise Administrator’s Guide and Sizing Companion for SAP BusinessObjects BI 4.0, both available from the SAP Service Marketplace. Historically, SAP Education has offered the course BOE330: Designing and Deploying a Solution, but despite BI4′s GA status, the course materials are still not ready for customers (or instructors like me). And it likely contains a lot of cutting and pasting from the admin and sizing guides, anyway. But regardless, that book is not in front of me providing additional insight.
In an earlier post, I wrote that SAP does not recommend having a single Adaptive Processing Server (APS) in your BI4 architecture in spite of the fact that one is all SAP chooses to install. At a minimum, SAP gingerly suggests that you might want to create an Adaptive Processing Server for each of the six processing categories: Core Services, Analysis Services, Connectivity Services, Data Federation Services, Lifecycle Management Services, and Web Intelligence Services. On closer inspection of the SAP BusinessObjects Enterprise Administrator’s Guide and Sizing Companion for SAP BusinessObjects BI 4.0, SAP calls out several services should be placed in their own distinct Adaptive Processing Server. I count five of them.
The Multi-Dimentional Analysis Service (MDAS) that powers the Analysis product. From page 32 of the Sizing Companion for SAP BusinessObjects BI 4.0:
We recommend that you dedicate an instance of the APS to run only the MDAS service. This recommendation generally holds regardless of the service the APS hosts. Our testing shows that the optimal heap size per MDAS server instance is 4 GB.
“This recommendation generally holds regardless of the service the APS hosts”??? Does that mean put each of the twenty-one services in their own APS? Maybe. But since a “small installation” (i.e. sandbox) can keep all twenty-one services in a single APS (with breathtaking performance, I can assure you), maybe not. But I digress – let’s continue.
The Dual Semantic Layer (DSL) Bridge Service. From page 22 of the Sizing Companion for SAP BusinessObjects BI 4.0:
You should ensure there are one or more dedicated APS instances running only the DSL Bridge Service. The recommended heap size is 4 GB minimum; 8 GB or better preferred.
The Visualization Service (sometimes referred to as CVOM). From page 23 of the Sizing Companion for SAP BusinessObjects BI 4.0:
The Visualization Service (CVOM charting library service for Web Intelligence) is dedicated to Web Intelligence reporting. It is what creates the charts that are displayed in a Web Intelligence document.
The default guidance regarding APS tuning applies here: the CVOM service should run in one or more dedicated APS instances. This means those APS instances are running no other services. We recommend setting the heap size to 1.5 GB minimum; 2 GB preferred.
The Monitoring Service. From page 506 of the SAP BusinessObjects Enterprise Administrator’s Guide:
It is recommended that the monitoring service is hosted on a separate Adaptive Processing Server (APS) instance to avoid crash or restart or poor performance of the APS.
The Client Auditing Proxy Service, or CAPS. From page 532 of the SAP BusinessObjects Enterprise Administrator’s Guide:
If you are going to use Client Auditing it is recommend that you create a dedicated Adaptive Processing Server for the Client Auditing Proxy Service. This will ensure your best system performance. To increase your system’s fault tolerance you may also want to consider running the CAPS on more than one APS.
Did I miss any? If you decide to keep the remaining servers broken out by category, that will add six additional Adaptive Processing Servers. And if you’re like me, it just feels right to put the Publication Service and Publishing Post-Processing Service in their own Adaptive Processing Server. That is a total of twelve Adaptive Processing Servers. On a single node. And each APS takes at a minimum 1 GB of Java heap space. Several of the services would prefer to have more. And we’re still not talking about the other servers that you might have on the node. Or duplicates of certain APS servers to scale for performance. But at least the Desktop Intelligence servers are gone, right?
Will I propose 12 Adaptive Processing Servers on a single node? Probably not, but a customer that wants to deploy all of the BI tools and desires connectivity to relational, multi-dimensional, and SAP BW data sources has no choice but to deploy all of the components. Where the SAP guides are unfortunately silent, we can only make best guesses on sizing then validate our guesses through monitoring.
Next year, SAP is promising SAP BusinessObjects Business Intelligence 4.0 Feature Pack 3 with new features like Exploration Views and more bug fixes. But my hope is that its installation program creates more than a single APS according to best practices. Perhaps in actual practice we’ll see that some of these services aren’t using as much RAM or CPU as we feared and will become candidates for additional consolidation.
But in the meantime, you better put a lot of RAM in your BI 4.0 hardware.
Additional Resources
- SAP Note 1694041 - How to size the Adaptive Processing Server (published March 8, 2012, added to this post on May 1, 2012 0 thanks Tim Moritz!)
- SAP BusinessObjects Enterprise Administrator’s Guide from the SAP Help Portal
- Business Intelligence platform User Guide (BI Content Administration)
- Check out the free EV Technologies Quick Sizer
- My other articles about the Adaptive Processing Server, including where to find the Sizing Companion

I think your last sentence probably is the sizing guide!
I wonder how much all the APS separation advice is just playing safe in the statements as it seems in contradiction to the way the developers are going. I think I would be tempted to lump it all in first (super-sandbox style) and see what happens, particularly round memory and core utilisation.
I agree SAP is very remiss in its provision of training. There are courses I wish to do where the first UK date is Mar 2012. This is more than a year after I went to my first “launch” event
Recently I deployed an APS instance to handle a few Web Intelligence tasks. I started with the obvious sub service named Visualization Service. I removed the instance from the main APS and deployed a standalone. At first the existing APS would not start but the new APS (with VS) started. After a few failed attempts at resolving, I simply restarted the SIA and both started without issue. After both APS services were started, I created a few Web Intelligence reports to test. I was able to create charts without any issues. I monitored the server via Task manager and saw that both Java.exe (APS Services) had activity while creating the reports. Next I deployed a standalone DSL Bridge Service. I used the same procedure above and had the same problem as above. I had to restart the SIA before the new DSL Bridge Service and the existing (original) APS would start. I repeated this process for MDAS, Custom Data Access Service, Excel Data Access Services, and a few others. Each time I had to restart the SIA before the original APS (less the standalone services) would start.
My second test was to deploy a second instance of the Visualization Service on the same node. This again had issues. When I first tried to start the second instance the Java.exe PID started, crashed, restarted a few times and eventually went to the failed state in the CMC. Again, a full SIA restarted resolved the issue and both instances started. The interesting thing about this setup was that there was no failover to the second instance when I performed a test. I refreshed a report with charts while both instances were running. No issues. I stopped the instance that was used during the refresh and verified that the second instance was running. I closed the report, reopened, and refreshed. This time I received a RED-X where the charts were originally. Webi did not find the second instance.
My conclusion is that when you attempt to change the APS layout on an active running system, you have to restart the entire node before all APS instance start working. I can only guess this is related to some strange Java requirement but this is very different behavior from previous BOE / CRE versions. The other conclusion is that the Active / Active or Active / Passive clustering of APS sub service is not working. I am interested to see if this works across physical nodes, but I will have to test that another day. I’m not sure if the clustering is broken or working as designed…
I finally found a SAP Note that suggest the following configuration (post install) for the APS.
1580280 – Adaptive Processing Server and Adaptive Job Server in SAP BI 4.0 are using high amounts of memory and are hard to manage and troubleshoot
The guide recommends that the APS is split into the following groups but I am adding a few recommendations as well. This assumes that the client is utilizing all the features of BOE 4.0. You have to utilize common sense when it comes to splitting these services into groups. For example, if you are not using Content Search, MDAS, and BW connectivity you should place all unused services is a single APS Group or remove them from the system. Also read my previous post as it relates to getting these services to start.
This configuration is un-tested:
APS Groups:
Group 1: Adaptive DSL Bridge service (for BEx BICS access + Security Token Service)
Group 2: Adaptive MDAS service (for Advanced Analysis for OLAP)
Group 3: Adaptive Connectivity Servers (for Adaptive Connectivity Service + Excel Data Access Service + Custom Data Access Service + BEx Web Applications Service)
Group 4: Adaptive LCM server (Lifecycle Management Service + Lifecycle Management ClearCase Service + Visual Differences)
Group 5: Adaptive Monitoring & Audit Server (Monitoring Service + Client Auditing Proxy Service + Web Intelligence Monitoring Service)
Group 6: Data Federation Service
Group 7: Publications Services (Publishing Post Processing Service + Publishing Service)
Group 8: Web Intelligence Services (Visualization Service + Rebean Service + Document Recovery Service)
Group 9: Platform Search Service + Translation Service
AJS Groups:
Group 1: Web Intelligence Job Services (Interactive Analysis Scheduling Service)
Group 2: Crystal Reports Job Services (Crystal Reports 2011 Scheduling Service + Crystal Reports Scheduling Service)
Group 3: LCM Job Services (Visual Difference Scheduling Service + Lifecycle Management Scheduling Service)
Group 4: Administration Job Services (Security Query Scheduling Service + Authentication Update Scheduling Service + Probe Scheduling Service)
Group 5: Publication Job Services (Publication Scheduling Service)
Group 6: Program Scheduling Job Service (Program Scheduling Service)
Group 7: Platform Search Scheduling Service
Group 8: Replication Service
Group 9: Destination Delivery Scheduling Service
Jonathan,
Thanks for posting. The link to the note is https://websmp130.sap-ag.de/sap/support/notes/1580280 (S-ID required)- it’s currently tagged as relevant to XI R2, which might prevent others from finding it on a casual search of the SAP Support Portal.
In my opinion, the Feature Pack 3 full install should performs the recommended segmentation. One of the best features of the XI 3.0+ Central Management Console is that the services can be viewed by service category, helping administrators understand which servers support which application.
Interesting article.
How to Split the APS into logical groups as mentioned in the note. Do we create server groups? We already have Service Categories when we installed BObj Server.
Jonathon Haun, You said,
For example, if you are not using Content Search, MDAS, and BW connectivity you should place all unused services is a single APS Group or remove them from the system
Question – How do you determine what services are needed and whic are not? And how do you move unused services to a APS Group.
thanks
After several hours of testing I believe I understand my I was having issues with running multiple instances of the APS on the same node (Server Host). When you deploy a new APS on a node or copy an APS using the server clone command you must inspect the APS Command Line Parameters. During you inspection you must make sure that some of the paths are unique (not the same as another APS on the same server node). The critical path appears to be the “-workdir” Java parameter. This has to be unique. There are a few other paths that you should change as well to make it easier to troubleshoot APS issues. These paths deal with logging, tracing, and history for the Java.exe process. Once I make the following paths unique on an APS instance, I no longer experience any issues with the APS on that node. It starts / stops without issue, does not crash, and the logging is specific to each instance.
Parameters to inspect:
-XtraceFile=”"
-XX:ErrorFile=”"
-XX:GCHistoryFilename=”"
-Xloggc:
-workdir
IRT Victor:
Question – How do you determine what services are needed and whic are not? And how do you move unused services to a APS Group
Answer – You might not be able to say “Never Used” so deleting them is not an option; however you can make a few assumptions once you understand what each sub-service is utilized for. You can study the SAP Training books and Admin Guide to understand what each sub-service’s function is. You then have to ask the business or users “which products or features are you planning to utilize” within BOE 4.0. Once you have all this information, you can decide how to customize the deployment of your BOE 4.0 APS landscape.
Once you stop the APS, you can right click and choose “Select Services”. This wizard allows you to add / remove the sub-services for an APS. This will allow you to deploy one or more APS instance (each having different sub-services) on the same node.
I have completed the testing of the clustering following my findings with the Command Line Parameters above. Assuming that the APS instance is configured correctly Active / Active clustering works without issues. This works both vertically and horizontally. When you Clone an existing server you must inspect and change the Command Line Parameters as stated above. The clone command in the CMC will not make these changes for you. When you add a new APS server the Command Line Parameters will most likely be unique but you need to also check that the node does not contain an old directory with the same name. The directory to check is “X:\Program files (x86)\SAP BusinessObjects\SAP BusinessObjects Enterprise XI 4.0\java\pjs\container\work”. If you see a folder in this area, that matches the folder specified in your –workdir Java Parameter you should either remove it (Assuming it is old and not being used) or change the Command Line Parameters so that the directories are unique.
I wanted to add a few more notes. Some of the Sub-Services have dependencies on each other. For example the “Trace Log” service will always be deployed to an APS instance. I also found that the “Custom Data Access Services” will always be deployed with the “Web Intelligence Monitoring Service”. The system will automatically add any dependent services. There are most likely other sub-service dependencies but further testing will be required to identify them. If you ever have issues trying to remove a sub-service from an APS instance, the likely cause is that it is a dependent on another service already deployed within that APS instance.
Thanks Jonathan for share your tests!!
I think sizing is very important.
Great post, Dallas. For SAP customers, it’s imperative that the DSL Bridge service be split off from the APS if using the BI Consumer Service (BICS) [referenced to as the "Dimensional Semantic Layer" in the sizing companion guide]. I don’t know if this was resolved with service packs, but some of the Environmental Variables and associated registry changes also provided in the guide to improve speed may also cause problems with WebI caching.
Ensure servers are sized appropriately with expansive amounts of RAM if implementing suggested minimum/maximum heaps of 4GB/8GB as if you deploy 1 or 2 DSL Bridge Services on a server, it will require 8GB or 16GB minimum RAM to support just these services. It may be advisable to deploy these on separate servers by scaling horizontally and avoid contention with other RAM hungry services split out from the APS and/or Tomcat if the web tier isn’t split off. It doesn’t hurt to associate the DSL Bridge Services with their own SIA node for administration purposes.
This is a great post but it makes me feel even more frustrated. Couple of my observations
1) Analysis OLAP – the quick sizer and t-shirt sizing provides RAM size with difference of 300% for 60 users
2) 8 or 16 GB alone for DSL service. This is crazy. How would I explain a client who uses Analysis Office edition which works on SAP BW with no performance issues about this need for memory on server. Is DSL caching all the data in memory to make the connection to SAP BW faster?
Andrew Howe Posted on November 18, 2011 at 6:52 AM:
“I wonder how much all the APS separation advice is just playing safe in the statements as it seems in contradiction to the way the developers are going.”
I agree that there’s a serious contradiction, but I don’t think the advice is ‘just playing safe.’
“I think I would be tempted to lump it all in first (super-sandbox style) and see what happens”
If someone does this, he/she should be warned that, if the node has any reasonable activity at all, problems WILL run rampant.
In my experience, diagnosing APS failures is extremely difficult, and when it fails, and takes down all your “super sandbox” services at once, it will create an emergency. Good luck trying to figure out which service caused the failure… I think you would be much better advised to try to find SOME kind of function-based partitioning scheme that can divide the services into at least 3 or 4 separate APSs…
Just realized that Analysis web client do not use DSL service for accessing the data in SAP BW. MDAS server takes care of the access to BW.
Cheers!
Hi Mark,
I was following your recent tweets of your recent implementation of 4.0,even i am doing sizing for our environment,i have couple of questions.
1.how did you split 24 cpu licenses on 6 servers.did you guys leave some licences for future
2.whats t6 he ram you set up
3.how did you split APS over 6 servers
4.for 1200 users 6 servers is pretty high right,are those 1200 = concurrent users or total named user count.
5.above questions confused me of what i set forth in my company.
Pradeep,
Thanks for writing – I’m just starting the process of building the QA environment, so I don’t have all the answers yet. I’m already setting expectations that we’ll have to try some different things with the APS as there is no “cookbook” yet.
Dallas
where can i find this “Sizing Companion for SAP BusinessObjects BI 4.0 guide”. I have looked everywhere, help.sap.com, sdn, marketplace, just cant find it. In the marketplace, there is a 17 page companion guide but nothing like the one you quote here.
Anybody, please help.
https://websmp109.sap-ag.de/quicksizing
go to
sizing guidelines
solution and platform
sap businessobjects
Hi pradeep, This is the saame location i was checking too. Looks like the new sizing companion guide they have at this location (updated 1/2012) has no recommendations about sizing individual services of APS like the recommendations that dallas has quoted above.
THANKS SAP for making it even more difficult..I just cant understand how can they just simply release notes without providing proper instructions and also not covering the side effects of cloning servers like Jonathan has mentioned above.
( i can verify that the issues that jonathan mentioned about cloning servers are still present in Patch 10 !!!).
Really disgusted with BI 4.0 right now.
Jason
Hi,
I tried to create the 9 AP Server groups following the guidelines in Jonathan’s post, but “Web Intelligence Monitoring Service” (originally meant to belong to group 5 only) shows up in three more groups by itself without having to assign it to them:
Group 1: Adaptive DSL Bridge server
Group 3: Adaptive Connectivity Server
Group 8: Web Intelligence
It can’t be removed, it shows up on reopening the service list. Is this normal?
Thanks,
Endre
Endre,
That would be a great question to post to Twitter or the BusinessObjects Board
@Dallas
Yes, it would. The only reason to ask it here was that I couldn’t find anything as useful as Jonathan’s post above anywhere else, including the BusinessObjects Board and opening an SAP support ticket. I was just hoping that Jonathan might chime in and let us know whether he managed to apply his recommended settings without the side effects I noticed.
The security Token service and Web Intelligence monitoring services are dependent services. They are automatically added to any APS instance where they are deemed required. There is no way to remove them.
I have one other note concerning the DSL Bridge Service. I have noticed starting with SP2 Patch 9 that Web Intelligence report generate errors if the DSL Bridge services (and other Web Intelligence related services) are not deployed together in an APS instance. If you run into that issue, I would recommend grouping all Web Intelligence related services into a single APS instance.
Looks like the kba was removed that John posted: 1580280 > “Document is not released”
What is the group think of the DataFederator? I have split this out and designated xmx: 1 gig to the service.
Ryan,
Thanks for writing.
My approach during our migration is to break out anything that I think is a potential source of grief, regardless of whether any sizing guide says it should be split out. So I’ve broken out the Platform Search and Lifecycle Management services in our development environment, as they are currently suspects for suspicious behavior. That doesn’t mean that I’ll break them out in my production environment.
We’re currently upgrading existing XI 3.1 content, not developing multi-source universes. But if I was, I’d probably break out the Data Federator service as you have just to keep an eye on its resources.
Good luck!