Very Slow Performances ?

I noticed this in several different configurations :

Example :
12 schemas
1 schema has 4000 records to replicate by a xDSL line -> 130rec/minute
1 schema has 150000 records to replicate by a xDSL line -> 32rec/minute
if I put on the same server the 2 databases (so, no xDSL line, just, the speed for 150000 records is 40rec/min...

If a lot of lines are in repl$log table for one schema, the replication (online) is slow.
I made A LOT of tests with different PCs, different lines, different databases, I always noticed that...
I also tried to put 2 databases on the same server as the replication server and it's also very slow...

Version of IBReplServer : 2.0 (12.1)

Is there something wrong ??? How the "SELECT FROM REPL$LOG" is done within IBREPLSRV ? In version 1.0, it was a "SELECT * FROM..." (without a where)... But I don't have sources for version 2...

If needed, I can provider full ReplicationDB, and 2 production DBs to simulate this problem.

Upgraded to, same problem... Also, I do not have the glyphs on the buttons....

Please, help ....

Someone read this ?

Is there someone that read this post ?

Stored procedure REPL$LOG2

There is following piece of code. It's seems there is not good ORDER BY STAMP but it's only target replication.
      I:= 0; S:= '';
      if Length(aSchemaIds) = 1 then
          I:= aSchemaIds[0];
          if I = 0 then
            IBReplicatorError(Format(sBadParam, ['SchemaIds']), 0);
      else if Length(aSchemaIds) > 1 then
        S:= IntegerArrayToSQLCondition(aSchemaIds, 'SCHEMAID');
      J:= 0;
      if Length(aGroupIds) = 1 then
        J:= aGroupIds[0]
      else if Length(aGroupIds) > 1 then
          if S <> '' then
            S:= S+ ' AND ';
          S:= S+IntegerArrayToSQLCondition(aGroupIds, 'GROUPID');
      if S <> '' then
        S:= ' WHERE '+S;
      ReplQ.SQL.Text:= Format('SELECT * FROM '+FormatIdentifier(ReplQ.Database.SQLDialect, aDBProps.ObjPrefix+'LOG2')+'(%d,%d) %s', [I, J, S]);
      if aReplOptions and repoptTargetReplication <> 0 then
        ReplQ.SQL.Text:= ReplQ.SQL.Text + ' ORDER BY STAMP';

        FieldQ:= TIBSQL.Create(nil);
          FieldQ.Database:= ReplQ.Database;
          FieldQ.Transaction:= ReplQ.Transaction;
          FieldQ.SQL.Text:= 'SELECT * FROM '+FormatIdentifier(FieldQ.Database.SQLDialect, aDBProps.ObjPrefix+'FIELD2')+'(:SCHEMAID,:SEQID,'''',0)';

It should be investigated using IBSQLMonitor. Currently I have not enough time to check it. Maybe you could put database on wen and send me link. I think that 150k record database is not good as attachment. Meanwhile you could put command manually in IBConsole or so. Button glyph are dependent on a shared DLL library (comctl32.dll??). Tomas

Did you investigate about my problem ?

Hi Thomas,

Did you make some investigations about my problem ?