BusinessObjects Board

How to refresh your connections after opening dashboard

I want to refresh my connections in the dashboard (Webi reports with LiveOffice) after the user opens the dashboard. So the users sees the first (welcome) screen and has the idea the dashboard is already open.

When I check my connection properties I can see:

  • before components are loaded checkmark
    But when I use this setting the dashboard takes quite some time to load.

I want my users to see the first (welcome) screen of the dashboard and immediately after that it should start loading/refreshing the data

Is this possible?

I also see a possibility to start loading/refreshing the data when a binding cell changes but when my user sees the first (welcome) screen, nothing is changed or clicked. it should start refreshing immediately after the first (welcome) screen is displayed.


Tiny :netherlands: (BOB member since 2004-11-10)

Hi…

You can add the Play selector Component,

  • in Behavior menu increase the Play Time as you needed.
  • map the Data insertion (Menu component) into the trigger cell (Webi) from Data Manager, check “When Value Changes” and uncheck Refresh before components are loaded.

Good Look!!


richard_ac29 (BOB member since 2014-05-22)

could you elaborate some more on the second step:

  • map the Data insertion (Menu component) into the trigger cell (Webi) from Data Manager

Cause I don’t get it to work like desired (it’s not refreshing, but the play selector works (I can see the value changing automatically when the dashboards open))


Tiny :netherlands: (BOB member since 2004-11-10)

On the second tab of the connection properties, it has an option to refresh when a given cell changes. And, more particularly in this case, when that cell matches a given value. Set that property to trigger when the cell the play component is updating reaches the value you want (e.g., 10 seconds).


Lugh (BOB member since 2009-07-16)

thanks, I got it working now.

But I’m not happy with the time it takes to "refresh"the data.

My set up:

  • webi reports
  • scheduled to refresh daily in the morning
  • LiveOffice objects which is set to retrieve LATEST INSTANCE
  • and the trigger in the dashboard with the play selector to start “refreshing” immediately after opening the dashboard.

It still takes +/- 16 seconds when data is refreshed in dashboard.

Is there a way to speed this up??


Tiny :netherlands: (BOB member since 2004-11-10)

Well, there’s all the obvious solutions. Make sure you’re only retrieving the data you need. Add more power to your servers. Add more processing servers to your BO installation. Work with your network team to identify any bottlenecks in the network.

Unfortunately, there may not be a lot you can do. Xcelsius/Dashboards is just not a zippy solution, and neither is LiveOffice. Depending on what you have to work with, you may just be stuck with load times over 10 seconds.


Lugh (BOB member since 2009-07-16)

You have to analyze first where the time is consumed, following are some pointers when dealing with performance issues:

  • size of swf file
  • complexity of used MS Excel formulas or used XC components
  • size of returned data sets
  • sequential or parallel execution of connections
  • which connections do fire…all at once or smart triggering
  • time to execute connection/data refresh
  • adequate sizing of SAP BI BusObj platform
  • caching options incl. Dashboard cache server

etc.


Andreas :de: (BOB member since 2002-06-20)

Andreas I’m still struggeling on this matter.

  • The size of the SWF isn’t dramatic (1,8 MB)
  • I’m not using the known excel-formula performance killers like VLOOKUP, the flash-components are doing the work
  • there are a lot of components (but again not that much cause the size isn’t dramatic)
  • there are 25 dataset/connections which all return max 50 rows and 5 columns (so not big). The foundation of these 25 datasets/connections are 2 webi reports with a lot of tabs , lot of report variables. (this report isn’t fast but it’s also not dead-slow)

I’m triggered by your following remarks which I want to know more about:
- sequential or parallel execution of connections
I’ve set it up so all 25 connections start refreshing at the same time, but when I look at the dashboard I can see BOBJ is doing them one by one, cause the dashboard gets populated one by one (and if last component is populated, server cpu drops). Is there a setting to do parallel execution? Or I’m I doing it allready?
[b]

  • time to execute connection/data refresh[/b]
    What do you mean by that?

- caching options incl. Dashboard cache server

Where to check those?

If I look at the server while opening a dashboard It seems like WIReportService process is the most busy process (I think that’s the bottleneck) But how to optimize this process?
Add another WIReportService?

Sorry lot of questions, maybe to many for one post…


Tiny :netherlands: (BOB member since 2004-11-10)

Use Fiddler or HttpWatch to analyze how long that transfer from busObjects server to the web browser on your local PC takes!

Uhh depends what is a lot? And it depends on the type of XC components

Uhhh uhh too many connections firing at the same time IMHO, LiveOffice on top is notoriously poor in most aspects. Anyway, again use Fiddler or httpWatch to see how many connections fire in parallel (max of 8 with modern web browsers; please, search on the web for keywords “parallel htttp requests”).

Again use fiddler or httpWatch, that will tell you how long the data refresh including sending the data set/result set takes. You also might include the Refersh component to trigger individual connections in your XC Dashboard at will, this way you can better monitor/analyze the performance (again via fiddler or httpWatch).

Via CMC under servers/services

You must do a sizing excercise for your SAP BusObjects server, just adding another WI Report server without adding more horsepower in form of CPU cores as well as RAM is a mute point in most scenarios.


Andreas :de: (BOB member since 2002-06-20)

but will splitting the 25 connections in let’s say 5 groups of 5 speed up the total process???
I think not, but the only advantage is that you can now arrange wich group of connections is handled first and therefore showing the results of those 5 connections earlier in the dashboard.

But in the end the strategy of splitting it up and schedule them group by group will give you the same total process time as firing them all at once.


Tiny :netherlands: (BOB member since 2004-11-10)

A) If you can execute some of the connections in parallel it will speed up things (typically a max. of 8 httprequests can run in parallel by the way).

B) What you mean by “grouping connections” makes sense if the INITIAL view of the dashboard does not require data from all 25 connections!
If that is is so a smart triggering of connections to only fetch data on a as needed basis will help with performance.

C) Your issues seems to be quite complex, you should consider bringing me on board for 2-3 days doing a detailed performance review , )


Andreas :de: (BOB member since 2002-06-20)

I’m firing them all 25 at once but BOBJ is executing them one by one (I can see this cause values appear one-by-one in the dashboard when they refreshed their data, none of the values appear at the same time. So how to parellel execute the connections? is there a setting on the bobj server side?

This will help me a little (it’s a 2 step dashboard, so high level- medior level , and you can see the medior level data if you click on the high level data. So I should refresh the high level connectors at first giving me some extra time for the medior level. But it’s still to long…

free of charge?? :lol:


Tiny :netherlands: (BOB member since 2004-11-10)

I might get you a 5% discount on my daily rate… maybe ; -)

a) Just because you are firing them all at once in XC does not imply that parallel httprequests are issued! And parallel execution does not imply parallel finishing!
AGAIN use Fiddler or httpWatch to check for parallel httprequests, I gave quite a few pointers.


Andreas :de: (BOB member since 2002-06-20)

yes, I will look into that asap.

And as always, many thanks for your quick and adequate response Andreas. You’re a true help for many years now


Tiny :netherlands: (BOB member since 2004-11-10)

Andreas,

I’ve checked HTTPWatch, but it’s just confirming what I’ve setup in the XLF.

In the XLF, I’ve set up to refresh 25 connections at the same time.
If I look at the HTTPWatch results for the SWF I can see 25 LiveOffice http request started almost at the same time and come back with results in 38-40 sec’s.

And if you look at the swf dashboard you can see those results appearing like expected in the components at 38-40 sec’s

So you’ve mentioned to use HTTPwatch but it’s not giving me extra info.?

(For a test I did the following:
I’ve now split up the 25 connections in one group of 5 and a group of 20. The group of 5 is triggered first and after 15 sec’s the group of 20 is fired. You can see the group with 5 connections is finished relatively quick and the group with 20 takes it’s time. Both groups are finished at again 38-40 sec’s)

So how can I use HTTPwatch to improve my performance…
ps
Meanwhile on the BOBJ server I still see WiReportServer is handeling those requests one-by-one (I can see 25 peaks of CPU useage, or 5 and 20 peaks)


Tiny :netherlands: (BOB member since 2004-11-10)

Via CMC under servers/services
[/quote]

I read quickly that dashboard caching only applies to QaaWS connections, mine is using LO-webi, so this doesn’t apply for me?


Tiny :netherlands: (BOB member since 2004-11-10)

I can only say that 25 :shock: LiveOffice connections are in my experience really bad, error prone and often poor performing by the way.


Andreas :de: (BOB member since 2002-06-20)

httpwatch is a tool to analyze performance (for web based apps), it will help you to see where the time is “lost”, so you can try working on those bottlenecks.

Sorry, not more I can do for you here from where I am.


Andreas :de: (BOB member since 2002-06-20)

yes I know, but sometimes you just can’t get away from them (anymore)


Tiny :netherlands: (BOB member since 2004-11-10)

Andreas,
I’m now looking at the BI web services functionality.
That should do some performance enhancements for me I think
(just tested with 2 of my 25 connections and it seems faster)

Why didn’t you mention those? Are there any drawbacks?


Tiny :netherlands: (BOB member since 2004-11-10)