If you are unable to create a new account, please email support@bspsoftware.com

 

News:

MetaManager - Administrative Tools for IBM Cognos
Pricing starting at $2,100
Download Now    Learn More

Main Menu

Difference between loading members in CQM and DQM?

Started by leech0809, 29 Jul 2019 06:08:42 AM

Previous topic - Next topic

leech0809

When I load members of a dimension with a lot of rows (millions of rows). There are differences when I use a package using CQM and a package using DQM. With the CQM package, the members are loaded quickly (display 50 members by default). But when I use DQM package, I have to wait for a long time and finally a message appear "The server returned an unrecognizable metadata response.". I checked the file cognosserver.log and know the reason DQM being failed. It's does not have enough allocation memory for query service process (512MB).

My question is "which mechanism that CQM use" or "what do CQM do" to generate result members of the dimension quickly and without failed?

MFGF

Quote from: leech0809 on 29 Jul 2019 06:08:42 AM
When I load members of a dimension with a lot of rows (millions of rows). There are differences when I use a package using CQM and a package using DQM. With the CQM package, the members are loaded quickly (display 50 members by default). But when I use DQM package, I have to wait for a long time and finally a message appear "The server returned an unrecognizable metadata response.". I checked the file cognosserver.log and know the reason DQM being failed. It's does not have enough allocation memory for query service process (512MB).

My question is "which mechanism that CQM use" or "what do CQM do" to generate result members of the dimension quickly and without failed?

CQM uses 32-bit bibustkservermain processes, which do not run within a java servlet container - you can see these if you look at the processes from your OS. These processes can grab memory directly from the OS as needed - up to a limit (the max memory size for a 32-bit process in your OS). DQM is 64-bit java and runs within its own container - you will see an extra java.exe process for it. You need to make sure that the min and max memory allocated to this are sufficient - in your case, it sounds like 512Mb is much too low. You can go into the properties of the Query Service in the Admin Console and define what you want the min and max memory to be - I would recommend you set the max as something more appropriate.

Cheers!

MF.
Meep!

leech0809

Quote from: MFGF on 29 Jul 2019 07:21:53 AM
CQM uses 32-bit bibustkservermain processes, which do not run within a java servlet container - you can see these if you look at the processes from your OS. These processes can grab memory directly from the OS as needed - up to a limit (the max memory size for a 32-bit process in your OS). DQM is 64-bit java and runs within its own container - you will see an extra java.exe process for it. You need to make sure that the min and max memory allocated to this are sufficient - in your case, it sounds like 512Mb is much too low. You can go into the properties of the Query Service in the Admin Console and define what you want the min and max memory to be - I would recommend you set the max as something more appropriate.

Cheers!

MF.

Thank you for answering. But I still do not get it. If CQM use 32-bit bibustkservermain process so the maximum memory is 2GB. When I modify min and max memory of Query Service to 2048 in Admin Console. After that, I try loading members of the dimension again, the error still appear. I checked the cognosserver.log file and it says that 2048MB (2GB) is not enough. Why is there difference between CQM and DQM when both of them using 2GB max memory?

MFGF

Quote from: leech0809 on 29 Jul 2019 09:46:31 PM
Thank you for answering. But I still do not get it. If CQM use 32-bit bibustkservermain process so the maximum memory is 2GB. When I modify min and max memory of Query Service to 2048 in Admin Console. After that, I try loading members of the dimension again, the error still appear. I checked the cognosserver.log file and it says that 2048MB (2GB) is not enough. Why is there difference between CQM and DQM when both of them using 2GB max memory?

Are you sure 2Gb is the maximum your OS will allow?

https://blogs.msdn.microsoft.com/tom/2008/04/10/chat-question-memory-limits-for-32-bit-and-64-bit-processes/

Let's take a step back for a moment. What is your data source? Is it OLAP or is this a DMR package? How many members in total are we talking here?

MF.
Meep!

leech0809

Quote from: MFGF on 30 Jul 2019 06:58:29 AM
Are you sure 2Gb is the maximum your OS will allow?

https://blogs.msdn.microsoft.com/tom/2008/04/10/chat-question-memory-limits-for-32-bit-and-64-bit-processes/

Let's take a step back for a moment. What is your data source? Is it OLAP or is this a DMR package? How many members in total are we talking here?

MF.

I am using 64-bit Windows OS. So I guess the maximum CQM can use is 4GB.

My data source is Oracle. The package is DMR package. And the number of members is about 5.4 millions. I modified maximum java heap memory to 4GB for query service and the members are loaded successfully. But the loading speed is not as fast as CQM. Do you know why there is difference in speed?

And if the numbers of members is larger, do I have to increase java heap memory for query service?