We have updated Flexmonster Software License Agreement, effective as of September 30, 2024. Learn more about what’s changed.

Why is Flexmonster Accelerator running slower than msmdpump.dll

Answered
Yosef asked on May 26, 2022

I switched from msmdpump.dll to try Flexmonster Accelerator embedded into my ASP.NET project. It takes 4 seconds to load a local Analysis Service cube compared to under 1 second for msmdpump.dll. 

flexmonster.setReport({
"type": "microsoft analysis services",
"proxyUrl": "api/FlexmonsterProxy/",
"catalog": "Catalog1",
"cube": "Cube1",
"binary": true
});

I have noticed longer performance still for the Flexmonster demo accelerator URL, though I'm guessing it has more data too:

"dataSource": {
"type": "microsoft analysis services",
"proxyUrl": "https://olap.flexmonster.com:8085/FlexmonsterProxy/",
"catalog": "Adventure Works DW Standard Edition",
"cube": "Adventure Works",
"customData": AppSettings.appSettings.userName,
"binary": true
}

3 answers

Public
Nadia Khodakivska Nadia Khodakivska Flexmonster May 26, 2022

Hello, Yosef,

Thank you for reaching out to us.

The reason why the Flexmonster Accelerator is running slower than msmdpump.dll might be in your Accelerator configurations. When defining the CONNECTION_STRING parameter, you can connect to the cube using msmdpump or connect directly to your cube.
We suggest connecting directly to the cube since this is a faster option.

Please let us know if it helps. Looking forward to hearing from you.

Kind regards,
Nadia

Public
Yosef May 26, 2022

Hi Nadia, thanks for your response.
 
As far as I can tell I'm connecting to the cube directly, here's my config:

class FlexmonsterConfig
{
public static void Register()
{
Flexmonster.Accelerator.Controllers.FlexmonsterProxyController.ConnectionString = @"Data Source=.\mssqlserver2019";
Flexmonster.Accelerator.Utils.CacheManager.MemoryLimit = 10 * 1024 * 1024; // MB to bytes
Flexmonster.Accelerator.Utils.CacheManager.Enabled = true;
}
}

 

Public
Nadia Khodakivska Nadia Khodakivska Flexmonster May 27, 2022

Hello, Yosef,

Thank you for the response.

Yes, you are correct that you are connecting directly to the cube.
Usually, Accelerator works faster since it requests only data we need to display on the pivot and has an additional caching level.
One of the options that might cause an issue may be the environment where your project is running.
We suggest checking the SQL Server Profiler and analyzing which requests take the most time. Also, you can install the Accelerator as a Windows Service to check that Accelerator by itself transfers data fast.
As we already said, usually, Flexmonster Accelerator works faster. However, there might be something specific in your environment, so it may be better to consider using msmdpump instead of Flexmonster Accelerator to achieve a good performance - it is absolutely a possible approach.

We hope it helps. You are welcome to write to us in case further questions arise.

Kind regards,
Nadia

Please login or Register to Submit Answer