Is this TPS expected?
914264Nov 22 2012 — edited Nov 28 2012My java application needs a 3000 tps of insertion but tps for my oracle is only 800 more or less.
it's far away from our target tps. So I employ TT to be the cache layer in front of oracle database.
TT will keep records in ram and async write them to the backend oracle automatically.
I create a dynamic AWT cache group which only refers to one root table and a child table.
Basically one record insertion will insert one record in the root table and the other in its child table.
I have set up two java programs that they both use jdbc api to insert records to the root table and its child table.
The difference is the underlying data source, one is oracle jdbc driver data source while the other is TimesTen driver data source.
I run them on the same server where TimesTen server is deployed once and once and find that tps of TT is only 1636 and tps of oracle is 568 averagely.
It means TT can insert 1636 records every second and oracle jdbc can insert 568 records every second.
They are both lower than our target tps.
My dsn for TT(TimesTen Release 11.2.2.4.1) is as the following:
-----------------------------------------------------------------------------
Driver=/home/timesten/TimesTen/tt1122/lib/libtten.so
DataStore=/home/timesten/data/database/my_ttdb
LogDir=/home/timesten/logs
PermSize=20000
TempSize=2000
DatabaseCharacterSet=AL32UTF8
OracleNetServiceName=amq_915
----------------------------------------------------------------------------
the output of monitor command is:
Command> monitor
TIME_OF_1ST_CONNECT: Thu Nov 22 16:15:43 2012
DS_CONNECTS: 58
DS_DISCONNECTS: 29
DS_CHECKPOINTS: 18
DS_CHECKPOINTS_FUZZY: 18
DS_COMPACTS: 0
PERM_ALLOCATED_SIZE: 20480000
PERM_IN_USE_SIZE: 758821
PERM_IN_USE_HIGH_WATER: 758821
TEMP_ALLOCATED_SIZE: 2048000
TEMP_IN_USE_SIZE: 65328
TEMP_IN_USE_HIGH_WATER: 65708
SYS18: 0
TPL_FETCHES: 3
TPL_EXECS: 4
CACHE_HITS: 1
PASSTHROUGH_COUNT: 609
XACT_BEGINS: 2549666
XACT_COMMITS: 2387904
XACT_D_COMMITS: 4
XACT_ROLLBACKS: 161761
LOG_FORCES: 41170
DEADLOCKS: 0
LOCK_TIMEOUTS: 0
LOCK_GRANTS_IMMED: 12556680
LOCK_GRANTS_WAIT: 12241
SYS19: 0
CMD_PREPARES: 199
CMD_REPREPARES: 0
CMD_TEMP_INDEXES: 0
LAST_LOG_FILE: 30
REPHOLD_LOG_FILE: 30
REPHOLD_LOG_OFF: 61008136
REP_XACT_COUNT: 860707
REP_CONFLICT_COUNT: 0
REP_PEER_CONNECTIONS: 1
REP_PEER_RETRIES: 0
FIRST_LOG_FILE: 30
LOG_BYTES_TO_LOG_BUFFER: 1729829168
LOG_FS_READS: 606045
LOG_FS_WRITES: 50263
LOG_BUFFER_WAITS: 0
CHECKPOINT_BYTES_WRITTEN: 19988480
CURSOR_OPENS: 37606
CURSOR_CLOSES: 37606
SYS3: 0
SYS4: 0
SYS5: 0
SYS6: 0
CHECKPOINT_BLOCKS_WRITTEN: 31723
CHECKPOINT_WRITES: 11458
REQUIRED_RECOVERY: 0
SYS11: 0
SYS12: 1
TYPE_MODE: 0
SYS13: 0
SYS14: 0
SYS15: 71938
SYS16: 0
SYS17: 0
SYS9:
--------------------------------------------------------------------
I believe tps for TT should be more larger than oracle jdbc but I cannot figure out what's the problem.
I have tried to use direct connection instead of client/server connection and tps is 2600 more or less, not my expection as well.
I really need your help or I have to look for other solutions.
Thanks
SuoNayi