Hi,
I did a SSB benchmark on Ignite database, but the the result is not optimistic
(actually it is terrible). My testing data is shown below.
Table Name | Records
date | 2556
supplier | 39,997
customer | 599,941
part | 999,901
lineorder | 119,982,610
Then I checked the monitor and found that the utilization of CPU is pretty low,
just 20% average usage. But I have 12 core on cluster (the cluster is set up by
3 nodes, each node has got 4 core).
So how can I improve the utilization of CPU ?
Here is my settings:
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<!--
Alter configuration below as needed.
-->
<bean id="grid.cfg"
class="org.apache.ignite.configuration.IgniteConfiguration">
<!-- performance tune -->
<!-- Configure internal thread pool. -->
<property name="publicThreadPoolSize" value="64"/>
<!-- Configure system thread pool. -->
<property name="systemThreadPoolSize" value="32"/>
<!-- Configure query thread pool. -->
<property name="queryThreadPoolSize" value="64"/>
<property name="discoverySpi">
<bean class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi">
<property name="ipFinder">
<bean
class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder">
<property name="addresses">
<list>
<!-- Explicitly specifying address of a local node to let
it start and operate normally even if there is no more nodes in the cluster
You can also optionally specify an individual port or port range.-->
<value>Ignite01</value>
</list>
</property>
</bean>
</property>
</bean>
</property>
<!-- Redefining maximum memory size for the cluster node usage. -->
<property name="dataStorageConfiguration">
<bean class="org.apache.ignite.configuration.DataStorageConfiguration">
<!-- Redefining the default region's settings -->
<property name="defaultDataRegionConfiguration">
<bean
class="org.apache.ignite.configuration.DataRegionConfiguration">
<property name="name" value="Default_Region"/>
<!-- Setting the size of the default region to 4GB. -->
<property name="maxSize" value="#{16L * 1024 * 1024 * 1024}"/>
<!-- Enabling Apache Ignite native persistence. -->
<property name="persistenceEnabled" value="true"/>
</bean>
</property>
</bean>
</property>
<property name="cacheConfiguration">
<bean class="org.apache.ignite.configuration.CacheConfiguration">
<!-- Set a cache name. -->
<property name="name" value="cacheName"/>
<!-- Set cache mode. -->
<property name="cacheMode" value="PARTITIONED"/>
<!-- Set number of backups to 0-->
<property name="backups" value="0"/>
</bean>
</property>
</bean>
</beans>