How to make CRM 2007 & 7.0 WebUI perform super fast
It is a pretty common complaint that I hear, that CRM 2007 or 7.0 WebUI has performance problems. And since it promises a Web 2.0 experience, your users will expect Amazon.com performance. And, they’re probably moaning at you right now about the “wheel of death”, if you’re reading this blog.
We run SAP CRM 7.0 and we had performance problems on CRM 2007. Now, people see our systems and blink when they see how fast it performs, and our hardware is 3 years old and nearly ready for a refresh.
For the uninitiated, the “wheel of death” is the spinning timer that you get when waiting for a CRM page to load. And the real problem is that if your users aren’t quite bought into having the sales process made more scientific, they might be looking for any excuse not to use CRM, and performance is a good one.
The good news is that if you follow this blog, your CRM system will go like greased lightening and you will be a superhero to your users. The bad news is that there’s lots of things to think about and some of these will take some time and effort to implement.
1) Patch, EhP, Upgrade
I know this might sound like a hassle and slightly predictable but there are some points worth noting here:
a) SAP have consistently improved the performance with each SPS of CRM. Especially if you are on CRM 2007<SPS06 or CRM 7.0<SPS05, do the right thing and patch up to date. Check the BBPCRM component in System –> Status of SAPGui, that is the SPS level.
b) There are some nice new features in CRM 7.0 EhP1 around performance. For example, if you are using quotations or sales orders, it will only run the pricing routines for those elements that have changed. We’ve written custom code to do this in the past and SAP have integrated that into the main product. There is a webcast from fellow mentor Gregor Wolf on EhP1 New CRM Web UI features coming with Innovations 2010“.
c) If you are on CRM 2007 then do the right thing and upgrade to 7.0. It’s a simple technical upgrade and doesn’t generally require a lot of rework as the technology platform is the same. SAP rewrote the UI rendering engine for 7.0 and it is a LOT faster.
2) Hardware & Landscape
CRM WebUI is CPU thread intensive and requires fast hardware. It also makes a lot of small calls – potentially thousands per mouse click – and so both CPU speed and latency are very important.
If your hardware isn’t a recent generation (less than 3 years old) then upgrade your productive system. In technical terms, ensure your CPU has >1000 SAPS per core. The latest systems are pushing 2000 SAPS per core or more.
What’s more, avoid distributed landscapes wherever possible. IT people like to separate database, central instance and application server and CRM 7.0 WebUI hates it, because it increases latency.
3) PC Performance
PC performance also makes a big difference. If you are on slow PCs with an old browser then it will be massively slower. Internet Explorer is the only browser that works with some of the functionality of CRM 7.0 (ActiveX controls etc.) so ensure that you are on the latest version (currently 8.0). Also make sure you have plenty of RAM (1-2Gb on the PC). IT just upgraded my PC and the difference is very noticeable.
Whilst you are there, ensure that you have caching enabled for your browser for your CRM site. On the first load, it will download all the pictures, CSS, etc. and if you don’t have caching enabled to Automatic then it will be downloading the images every time, using network bandwidth and dramatically reducing performance.
4) Network
CRM 2007 and 7.0 WebUI require HTTP 1.1 to be active – check Note 1162605 – Network performance for CRM (IC) Webclient. Don’t trust your network team on this one – check it out for yourself using a HTTP sniffer like HTTPWatch and check it with your own eyes. Note that the performance may differ depending on where the PC is located as some firewalls and routers force traffic to HTTP 1.0. WebUI performs like a dog on HTTP 1.0.
CRM 7.0 is also pretty network intensive but it does have a setting for slow networks. Click on Personalize then Personalize Layout. Select “Enable fast performance mode with fewer UI features” and “Disable the suggestion of entries for input helps” to improve performance if you are on a slow network link.
Also if at all possible use a caching reverse proxy like Microsoft ISA Server 2010 or squid, for external access to CRM.
5) Database performance
In CRM WebUI, database performance is absolutely crucial. Check transaction ST04 – the hit ratio should be >95%. On our system it is 98.5% with a 6GB cache on Microsoft SQL Server. RAM is cheap, if you don’t have much of it then buy more and give CRM a bigger cache.
We also saw a nice performance by upgrading MSSQL 2007 and following this blog here: SQL Server 2008 Compression on SAP – how to cut your database size from 90Gb to 30Gb. Once 2008 R2 is supported we will upgrade and get the Unicode compression too. Because pages are compressed in cache too, you get better value for money on your database cache.
If you are on Oracle 10g then make sure you patch to the very latest level and follow the holy grail of SAP notes – 830576. If your Oracle DBAs don’t want to apply this then keep hassling them until they do. It can make a dramatic difference to database performance.
6) ABAP buffer performance.
This may sound pretty obvious but ABAP buffer performance in ST02 is really important. Our ABAP program buffer is 1100000 (1.1GB) and this is pretty typical. The default is 300MB. Open up transaction ST02 and see how red the screen is. All those table buffers need to be tuned to give good performance with minimal swaps.
This is important because CRM WebUI is BSP based, which means all the programs can be cached in memory – or alternatively go out to disk!
7) TREX
Do your users complain about waiting for the accounts search for minutes on end? Thought so. Unfortunately the only way around this is to implement TREX for your account searches.
The good news is that if you’re only using TREX for CRM searches and you don’t want to index attachments, then you can install TREX pretty much any . Do however install the latest 7.1 version, which will only run on Windows or Linux 64-bit.
8) ABAP performance
If you’ve done everything else, you may still find that there are specific areas of performance problems. You need to perform a root cause analysis (RCA) of the performance problem but usually it ends up being an ABAP problem in custom code.
For example I recently had an example where performance saving a quotation was awful. It turns out it was making pricing calls to R/3 which were really slow – and run twice – and run, even if nothing had changed. We did three things:
a) Raise a SAP message to get pricing run only once.
b) Improve the performance of the R/3 ABAP code
c) Chance the code so it was only run when products were changed
Either way, you need to do a proper analysis at this point using tools like ST12, ST05 and HTTPwatch.
9) The SAP community connection
There are some neat community resources that are worth looking at
Note 1162685 – SAP CRM Webclient Performance
Check the community forums here:
Customer Relationship Management (SAP CRM)SAP CRM: Upgrades and Enhancement Packs
And the BPX CRM area:
http://www.sdn.sap.com/irj/bpx/crm
Conclusion
CRM can perform as fast – or faster – than Amazon.com, if you put your mind to it and do all of these things. All of these things have been done on our environment and I hope that our Sales Director reads this blog so he realises how much work we went to, to make CRM perform as well as it does today!
It's obvious that they come from real life experience.
Olivier
Points are neatly summarized. Except the network performance other things can be controlled very well.
Raj
What can be controlled really depends on the organisation. For us, for example, SAP is our major IT asset and our network infrastructure is built around it.
So we have for example already put in Microsoft TMG which has sped up HTTP performance in our SAP landscape for external access due to compression.
We are considering putting the productive SAP environment in the cloud to improve network performance for our users, who are mostly remote.
Other organisations may find server and network changes harder, but my two cents is to try to remember how much of an asset SAP is to the business.
Regards,
John
I note that eph1 is currently in Ramp-up , will applying the sps deliver super fast performance
Regards
John
I would suggest that you create an Idea on Idea Place that the performance Improvements of EhP1 will be down-ported to at least 7.0. Also please engage with your local SAP User Group to request this.
Best regards
Gregor
Actually I disagree - I'd rather SAP development focussed on making the latest version as good as possible. That way way EhP1 will be even better and there are good reasons to update to it.
Regards,
John
Many Thanx for sharing this with the community. Lot of improvements have come since Web UI made first available for users but still i do believe that there is lot of scope left.
Having worked with Performance owner of SAP CRM Product i can vouch that there is lot of effort which is going into it so as to make CRM perform better.
Regards,
Harshit
congratulations on your brilliant blog! It summarizes most of the things to look for when CRM performes lazy.
One little thing I have to mention:
In "3) PC Performance", you suggest that users upgrade to IE8. I just had an OSS message open with SAP concerning IE8 compatibility in the email components (The BTF Editor throws JS errors with IE8, because of missing coding).
They pointed me directly to a note saying, that only CRM 7.0 with EhP1 supports IE8.
My complaints that there are other notes that say CRM 2007 with SP7 and up are officially capable of supporting IE8 in "compatibility mode" did not count. Only CRM 7 with EhP1 does.
So be careful when upgrading to IE8 or Windows 7! You might face some JavaScript issues.
regards
Carsten Kasper
We faced the same issues usign Interaction Center over the 200 users, we found better performance using IE6.0 instead IE8.0, additionaly we restored the "internet options" to default setting because some internet app´s modify the ms settings, and this was helpfully.
Other additional GIZMO is the Antivirus set-up, McAffe works slow over the client browser.
Gizmo´s as the add-ons suited at the IE such as Facebook apps, Google, twitter, and many more features allowed in the PC decrease the performance rendem-browser, take care, it can be a little bit tricky for each PC.
the Note 1162685 - SAP CRM Webclient Performance links to the Note 1061240 - Slow web browser due to JavaScript virus scan where in 2009 the McAfee KnowledgeBase articleScriptScan improvement - whitelisting of URLs is linked.
I've tested the difference today using my SeleniumABAP project and got improvements from 10 to 20% depending of the CPU performance. For a slow PC the improvement is higher. It was tested with IE 7 against a CRM 7.0 SP 6 system.
More details will follow in my Blog series on our CRM 7.0 EhP 1 upgrade.
Best regards
Gregor
Hello John,
thank you for creating this excellent list.
I have a question regarding your suggestion about TREX.
"The good news is that if you're only using TREX for CRM searches and you don't want to index attachments, then you can install TREX pretty much any ."
If you are using TREX only for CRM, can you install TREX on the same server as SAP-CRM? - I understand it can be done, but what is the impact on performance?
Regards,
Carsten
Hey Carsten,
Glad that this blog is still useful to someone 3 years after I wrote it!
I usually put TREX on the same host in Dev/Test and a separate host in Prod, for two reasons. First, it requires 16-32GB of physical RAM in most cases to hold the indexes in-memory, and usually I put it on VMWare, so it makes sense to have two separate machines. Second, it seems to impact CRM performance when you share ABAP and TREX on one highly utilized system. They just don't play well together.
As a side note, you don't need TREX if you run CRM on HANA.
John