You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Ksenia Rybakova (JIRA)" <ji...@apache.org> on 2017/05/03 15:43:04 UTC

[jira] [Created] (IGNITE-5150) Allocated memory pages count is incorrect during load test

Ksenia Rybakova created IGNITE-5150:
---------------------------------------

             Summary: Allocated memory pages count is incorrect during load test
                 Key: IGNITE-5150
                 URL: https://issues.apache.org/jira/browse/IGNITE-5150
             Project: Ignite
          Issue Type: Bug
    Affects Versions: 2.0
            Reporter: Ksenia Rybakova


Load test config:
- CacheRandomOpearion benchmark
- 1 server (-Xms4g -Xmx4g)
- 1 client (-Xms4g -Xmx4g)
- 1 cache with following config
{noformat}
    <bean name="orgCache" class="org.apache.ignite.configuration.CacheConfiguration">
        <property name="name" value="orgCache"/>
        <property name="cacheMode" value="PARTITIONED"/>
        <property name="atomicityMode" value="ATOMIC"/>

        <!-- Configure query entities -->
        <property name="queryEntities">
            <list>
                <bean class="org.apache.ignite.cache.QueryEntity">
                    <property name="keyType" value="java.lang.Integer"/>
                    <property name="valueType" value="org.apache.ignite.yardstick.cache.model.Organization"/>

                    <property name="fields">
                        <map>
                            <entry key="id" value="java.lang.Integer"/>
                            <entry key="name" value="java.lang.String"/>
                        </map>
                    </property>

                    <property name="indexes">
                        <list>
                            <bean class="org.apache.ignite.cache.QueryIndex">
                                <constructor-arg value="id"/>
                            </bean>
                            <bean class="org.apache.ignite.cache.QueryIndex">
                                <constructor-arg value="name"/>
                            </bean>
                        </list>
                    </property>
                </bean>
            </list>
        </property>
    </bean>
{noformat}
- preloaded data: 40M entries
- backup count: 0
- memory config:
{noformat}
<property name="memoryConfiguration">
            <bean class="org.apache.ignite.configuration.MemoryConfiguration">

                <property name="defaultMemoryPolicyName" value="default"/> <!-- default -->
		<property name="SystemCacheMaxSize" value="#{100L * 1024 * 1024}"/> <!-- default -->
		<property name="SystemCacheInitialSize" value="#{40L * 1024 * 1024}"/> <!-- default -->
		<property name="PageSize" value="#{2L * 1024}"/> <!-- default -->
                
		<property name="memoryPolicies">
		    <list>
                    	<bean class="org.apache.ignite.configuration.MemoryPolicyConfiguration">
                            <property name="name" value="default"/>
                            <property name="initialSize" value="#{500L * 1024 * 1024}"/>
			    <property name="maxSize" value="#{6L * 1024 * 1024 * 1024}"/>
                        </bean>
                    	<bean class="org.apache.ignite.configuration.MemoryPolicyConfiguration">
                            <property name="name" value="memPolicyCfg_evict_LRU"/>
			    <property name="pageEvictionMode" value="RANDOM_LRU"/>
                            <property name="initialSize" value="#{500L * 1024 * 1024}"/>
			    <property name="maxSize" value="#{1L * 1024 * 1024 * 1024}"/>
                        </bean>
                    	<bean class="org.apache.ignite.configuration.MemoryPolicyConfiguration">
                            <property name="name" value="memPolicyCfg_evict_2LRU"/>
			    <property name="pageEvictionMode" value="RANDOM_2_LRU"/>
                            <property name="initialSize" value="#{500L * 1024 * 1024}"/>
			    <property name="maxSize" value="#{4L * 1024 * 1024 * 1024}"/>
                        </bean>
		    </list>
                </property>
            </bean>
        </property>
{noformat}

40M entries consume about 4Gb offheap memory. It might be proved by [[top]] command (RES value - JVM memory = 8Gb - 4Gb) or by summing all "Allocated next memory segment" printed in server log.

After all data preloaded metrics show the following:
{noformat}
[18:37:18,152][INFO ][grid-timeout-worker-#23%null%][IgniteKernal]
Metrics for local node (to disable set 'metricsLogFrequency' to 0)
    ^-- Node [id=dc009e3c, name=null, uptime=00:02:10:102]
    ^-- H/N/C [hosts=2, nodes=2, CPUs=32]
    ^-- CPU [cur=19.53%, avg=11.99%, GC=0.03%]
    ^-- PageMemory [pages=22527667]
    ^-- Heap [used=238MB, free=94.17%, comm=4096MB]
    ^-- Non heap [used=40MB, free=68.18%, comm=45MB]
    ^-- Public thread pool [active=0, idle=0, qSize=0]
    ^-- System thread pool [active=0, idle=10, qSize=0]
    ^-- Outbound messages queue [size=0]
{noformat}

pages=22527667 seems to be wrong, otherwise offheap memory size would be 22527667 * 2KB = about 43Gb. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)