Slowness

Stefan Dicu shared this problem 2 years ago
Resolved

Hi,

I have saw recently that our YF server has decreased in performance although there was no major change in it. No additional data. The browsing thru menus is slower now. Just clicking on Views or Admin console takes much more time than before. Also very important, same action performed by admins and regular users its much much slower on regular user side. Do you have any idea what could cause this behavior? To have different feeling on performance from one machine to another and from one type of user to another?

Comments (1)

photo
1

Hello Stefan,


"Slowness" is a tricky problem to tackle!

I have a couple of questions about your system which will help us narrow down where the problem lies (hopefully!)


1. How much RAM do you have in the system and how much is assigned to the JVM

The JVM value can be found in http://[yellowfin address]:[port]/info.jsp

2. How many reports do you have on the system?

3. Do you have any scheduled broadcasts on the system - if so, how many?

4. How many users do you have on the system and how many are logged in at any one time?

5. How many dashboards do you have on the system and how many reports are on average on a dashboard?

6. How long has it been since the system was restarted?


Please let us know the answers to these questions and we can help you further!

Best regards,

Pete

photo
1

Hi Pete,

Thanks for looking into this. I know this subject is tricky thats why I do search for some hints. I should tell you from the beginning this is a pre-prod environment so we have just started adding pieces together and we saw this behavior and we want to tackle it before it gets in PROD.

Here are my answers:

1.Memory in Use:142.1 MBJVM current total memory:503.5 MBFree memory:361.4 MBJVM max memory:910.5 MB

2. About 10-20 for now, preparing the system for more to be build

3. No

4. About 10, max 2-3 connected at the same time

5. 1 or 2 , test dashboard

6. Not really sure but i would say about 1 month

photo
1

Hi Stefan,


I see that you have the system default of 1GB of RAM assigned to the JVM

While this is fine for testing, it will perform REALLY badly as you increase the complexity of the system!


As the system has been running for quite some time, it may not have enough memory to be able to cache all the results as you request them, so the system has to load everything from scratch each time, which makes for a slow experience.

If you are able, I would suggest restarting and increasing the amount of memory available to the JVM - for testing, I would suggest 4Gb, however, for production, I would suggest at least 8Gb or more depending on number of users/reports.


Having more memory available allows the system extra overhead to temporarily cache values and generally improve performance.

I hope this helps,

Best regards,

Pete

photo
1

Hi Pete, thanks for your reply, this is exactly what I am after. The 1GB i think is the default value, we will increase considerably. However i am not that sure about the "not having enough memory" as the cache hits ratio is pretty good, in events its actually 98%.

Also, my main amaze is still there, how can it be that for admins the system is ok and for end users is very slow? Same cache, same setting,same location.


Event Cache:Max Cache Size:100000Events cached:4454 (4%)Cache hits:179 (98%)Cache misses:2 (1%)Date ranges cached (GMT):2017-08-16 14:42:33 - now Bytes used:1325435

photo
1

Hi Stefan,


We would need to see some further empirical data to confirm what's going on.

For example, we have some data in the back-end database tables that can show how long it takes for a report to complete, but it's not very accurate - we have an enhancement request open to improve these stats!


Would you be able to "time" how long these reports take for both a user and admin, then compare that time to the time the same report SQL takes to run against the database?


Best regards,

Pete

photo
1

Yes I will do some tests like these tomorrow and come back with the results.

photo
1

Ok, so ive done the tests and it seems it has to do with the "location" and not with the user type.

For this action : Menu -> Browse -> Reports -> Agency Benchmark till I get to see the numbers from one machine (CH) it takes 13 seconds and for another one (RO) it takes 49 seconds.

photo
1

Hi Stefan,


Are these separate machines/installs of yellowfin or are they different databases?


Best regards,

Pete

photo
1

Hi Pete,

2 different computers accessing same YF installation on the same db. Just that the computers are in different locations.

photo
1

Hello Stefan,


This looks like it's a network/internet/location problemand not something we're going to be able to boost.


That being said, can you look at the SQL that the report is generated from and run that directly on your DB server?

This will give us a base line "response" speed to work from and we can see if we can increase the overall speed of the setup.


Best regards,

Pete

photo
1

Hi Pete,

Normally I would also say its a network issue but it worked fine till now, on the same network.

Is there any tweaks that we can do to make sure the system is optimized? Some recommendation on the memory needed etc ?

photo
1

Hi Stefan,


As you are on such a limited amount of RAM, increasing the JVM memory that is available should be your first change.


I would suggest 4Gb if you are testing over a network, this should generally improve all aspects of Yellowfin!


If you can get the timing information for running the specific report from the SQL server that you used to test the CH and RO machines, that will also highlight where we need to look.


Best regards,

Pete

photo
1

OK, thanks Pete. We can close this topic. I will take further actions and hopefully will be solved. Also I will study the documentation to see what can be improved in terms of config.

Again, thank you for your assistance.

photo