需要更多蒙德里安缓存和更少数据库查询
虽然我有足够的内存,但我的蒙德里安真的很慢,并且没有使用本来应该使用的内存。 RAM在tomcat中被分配为-Xmx40G。
- 我试图明确使用mondrian.properties中的参数来启用缓存。如下所示(尽管这些是默认值):
mondrian.expCache.enable =真
mondrian.rolap.EnableRolapCubeMemberCache =真
mondrian.rolap.star.disableCaching =假
仍然在visualvm中堆使用量没有增加。
- 然后我遇到了这个属性:
mondrian.result.highCardChunkSize(我使用了113:这背后没有逻辑。我只是希望有一个很大的值,因为默认值是1,并确保它与mondrian.result.limit互质)
默认值:1
意思是:当读取高基数维度元素时,每个步骤中从数据库读取的元素数量。在处理高基数维度时,以块为单位检索元素:检索前N个元素,当读取这些元素时,得到下一个元素(从N + 1到2N)。 N号是这个属性。为此属性设置较大的值会提高性能,但可能会使内存过载。使用mondrian.result.limit(我使用5000000)
应该使用值
来源:http://mondrian.sourceforge.net/head/configuration.html
真的有帮助吗?
我甚至提到了pentaho的建议:
http://infocenter.pentaho.com/help/index.jsp?topic=%2Fperformance_tuning_guide%2Fconcept_mondrian_properties.html
- 除了数据库调优(索引和所有)之外,任何调整Mondrian性能的建议都会非常有用吗?我担心我在这里错过了一些东西。