Hi, Do you use only one ODBC client? Can you start one more ODBC client and check the performance?
Thanks, Evgenii сб, 2 нояб. 2019 г. в 16:47, Siew Wai Yow <[email protected]>: > Hi, > > We are doing POC on ignite performance using ODBC driver but the > performance is always capped at around 1700 TPS which is too slow. It is > local ignite service. All tuning tips from Ignite page has been applied, no > bottleneck from CPU and Memory. At the moment not turn on persistence yet, > it will be worse if turn on. This POC is very crucial to our product > roadmap. > > Any tips? Thank you. > > Test case, > 1 x insert --> 49 x select -->49 x update --> 1 x delete > repeat for 50000 times. > > * const char* insert_sql = "insert into CDRTEST > values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";* > * const char* update_sql = "update CDRTEST set > value01=?,value02=?,value03=?,value04=?,value05=?,value21=?,value22=?,value23=?,value24=?,value25=? > where key01=?";* > * const char* delete_sql = "delete from CDRTEST where key01=?";* > * const char* select_sql = "select value01 from CDRTEST where key01=?";* > > * retcode = SQLExecDirect(hstmt, > reinterpret_cast<SQLCHAR*>(const_cast<char*>("CREATE TABLE IF NOT EXISTS > CDRTEST ( "* > * "key01 VARCHAR PRIMARY KEY, "* > * "value01 LONG, "* > * "value02 LONG, "* > * "value03 LONG, "* > * "value04 LONG, "* > * "value05 LONG, "* > * "value06 LONG, "* > * "value07 LONG, "* > * "value08 LONG, "* > * "value09 LONG, "* > * "value10 LONG, "* > * "value11 LONG, "* > * "value12 LONG, "* > * "value13 LONG, "* > * "value14 LONG, "* > * "value15 LONG, "* > * "value16 LONG, "* > * "value17 LONG, "* > * "value18 LONG, "* > * "value19 LONG, "* > * "value20 LONG, " * > * "value21 VARCHAR, "* > * "value22 VARCHAR, "* > * "value23 VARCHAR, "* > * "value24 VARCHAR, "* > * "value25 VARCHAR, "* > * "value26 VARCHAR, "* > * "value27 VARCHAR, "* > * "value28 VARCHAR, "* > * "value29 VARCHAR, "* > * "value30 VARCHAR, " * > * "value31 VARCHAR, "* > * "value32 VARCHAR, "* > * "value33 VARCHAR, "* > * "value34 VARCHAR, "* > * "value35 VARCHAR, "* > * "value36 VARCHAR, "* > * "value37 VARCHAR, "* > * "value38 VARCHAR, "* > * "value39 VARCHAR) "* > * "WITH > \"template=partitioned,atomicity=TRANSACTIONAL_SNAPSHOT,WRITE_SYNCHRONIZATION_MODE=FULL_ASYNC\"")), > SQL_NTS);* > * CHECK_ERROR(retcode, "Fail to create table", hstmt, > SQL_HANDLE_STMT);* > > * retcode = SQLExecDirect(hstmt, > reinterpret_cast<SQLCHAR*>(const_cast<char*>("CREATE INDEX key01t_idx ON > CDRTEST(key01) INLINE_SIZE 64")), SQL_NTS);* > > * CHECK_ERROR(retcode, "Fail to create index", hstmt, > SQL_HANDLE_STMT); * > > > Below are configuration we used, > > *<?xml version="1.0" encoding="UTF-8"?>* > > *<beans xmlns="http://www.springframework.org/schema/beans > <http://www.springframework.org/schema/beans>"* > * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance > <http://www.w3.org/2001/XMLSchema-instance>"* > * xsi:schemaLocation="http://www.springframework.org/schema/beans > <http://www.springframework.org/schema/beans>* > * http://www.springframework.org/schema/beans/spring-beans.xsd > <http://www.springframework.org/schema/beans/spring-beans.xsd>">* > > * <bean id="ignite.cfg" > class="org.apache.ignite.configuration.IgniteConfiguration">* > > * <property name="binaryConfiguration">* > * <bean > class="org.apache.ignite.configuration.BinaryConfiguration">* > * <property name="compactFooter" value="false"/>* > > * <property name="idMapper">* > * <bean > class="org.apache.ignite.binary.BinaryBasicIdMapper">* > * <property name="lowerCase" value="true"/>* > * </bean>* > * </property>* > * </bean>* > * </property>* > > * <property name="clientConnectorConfiguration">* > * <bean > class="org.apache.ignite.configuration.ClientConnectorConfiguration">* > * <!--property name="host" value="127.0.0.1"/-->* > * <!--property name="port" value="10800"/-->* > * <!--property name="portRange" value="5"/-->* > * <property name="maxOpenCursorsPerConnection" value="512"/>* > * <property name="socketSendBufferSize" value="65536"/>* > * <property name="socketReceiveBufferSize" value="131072"/>* > * <!--property name="threadPoolSize" value="4"/-->* > * </bean>* > * </property>* > > * <property name="dataStorageConfiguration">* > * <bean > class="org.apache.ignite.configuration.DataStorageConfiguration">* > * <!-- Enabling Apache Ignite Persistent Store. -->* > * <property name="defaultDataRegionConfiguration">* > * <bean > class="org.apache.ignite.configuration.DataRegionConfiguration">* > * <property name="persistenceEnabled" value="false"/>* > * </bean>* > * </property>* > * <property name="walPath" value="/ignite-wal"/>* > > * <property name="walArchivePath" value="/ignite-wal"/>* > * </bean>* > * </property>* > > * </bean>* > *</beans>* > > Regards, > Yow >
