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
>

Reply via email to