I have a 3rd party Mysql table that will be cached partially by Ignite
cluster. So on ignite, I have done this conf:
<bean id="grid.cfg"
class="org.apache.ignite.configuration.IgniteConfiguration">
<property name="discoverySpi">
<bean class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi">
<property name="ipFinder">
<bean
class="org.apache.ignite.spi.discovery.tcp.ipfinder.multicast.TcpDiscoveryMulticastIpFinder">
<property name="multicastGroup" value="228.10.10.157" />
</bean>
</property>
</bean>
</property>
<property name="clientMode" value="true" />
<property name="cacheConfiguration">
<list>
<bean
class="org.apache.ignite.configuration.CacheConfiguration">
<property name="name" value="crmdbcache" />
<property name="onheapCacheEnabled" value="true" />
<property name="readThrough" value="true" />
<property name="readFromBackup" value="false" />
<property name="evictionPolicy">
<bean
class="org.apache.ignite.cache.eviction.lru.LruEvictionPolicy">
<property name="maxSize" value="100" />
</bean>
</property>
<property name="indexedTypes">
<list>
<value>java.lang.Long</value>
<value>com.example.demo.UserSegment</value>
</list>
</property>
<property name="cacheStoreFactory">
<bean
class="org.apache.ignite.cache.store.jdbc.CacheJdbcPojoStoreFactory">
<property name="dataSource" ref="datasource" />
<property name="dialect">
<bean
class="org.apache.ignite.cache.store.jdbc.dialect.MySQLDialect"></bean>
</property>
<property name="parallelLoadCacheMinimumThreshold"
value="20"/>
<property name="types">
<list>
<bean
class="org.apache.ignite.cache.store.jdbc.JdbcType">
<property name="databaseSchema"
value="crm" />
<property name="databaseTable"
value="CRM_SEGMENT" />
<property name="cacheName"
value="crmdbcache" />
<property name="keyType"
value="java.lang.Long" />
<property name="valueType"
value="com.example.demo.UserSegment" />
<property name="keyFields">
<list>
<bean
class="org.apache.ignite.cache.store.jdbc.JdbcTypeField">
<constructor-arg index="0"
value="-5" />
<constructor-arg index="1"
value="USER_ID" />
<constructor-arg index="2"
value="java.lang.Long" />
<constructor-arg index="3"
value="userId" />
</bean>
</list>
</property>
<property name="valueFields">
<list>
<bean
class="org.apache.ignite.cache.store.jdbc.JdbcTypeField">
<constructor-arg index="0"
value="-5" />
<constructor-arg index="1"
value="ID" />
<constructor-arg index="2"
value="java.lang.Long" />
<constructor-arg index="3"
value="id" />
</bean>
<bean
class="org.apache.ignite.cache.store.jdbc.JdbcTypeField">
<constructor-arg index="0"
value="-5" />
<constructor-arg index="1"
value="USER_ID" />
<constructor-arg index="2"
value="java.lang.Long" />
<constructor-arg index="3"
value="userId" />
</bean>
<bean
class="org.apache.ignite.cache.store.jdbc.JdbcTypeField">
<constructor-arg index="0"
value="-5" />
<constructor-arg index="1"
value="TYPE_ID" />
<constructor-arg index="2"
value="java.lang.Long" />
<constructor-arg index="3"
value="type" />
</bean>
<bean
class="org.apache.ignite.cache.store.jdbc.JdbcTypeField">
<constructor-arg index="0"
value="12" />
<constructor-arg index="1"
value="TAG" />
<constructor-arg index="2"
value="java.lang.String" />
<constructor-arg index="3"
value="tag" />
</bean>
</list>
</property>
</bean>
</list>
</property>
</bean>
</property>
</bean>
</list>
</property>
</bean>
So , I am also inspecting the load over ignitevisor. But it seems , it is
very slow. I have also run ignite.sh vith -v option but there seems no
problem.
So my question is: am I missing something or where should I start to look
for the problem?
It has written only 640 items in 1 minute. Increasing of thread count did
not effect performance at all. Database has 3.2 million records and I want
to add 100K of them in cache based on LRU. But with this performance, it
seems it will continue like forever
--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/