WARNING: This web is not used anymore. Please use PDBService.AMGAStreamReplicationTests instead!
 

AMGA Replication tests using Oracle streams

SETUP

  • The test will be performed between the 2 Oracle streams test nodes at CERN, one will be the master the other the slave. 2 AMGA servers will be set up at CERN connecting to one of the Oracle databases each. AMGA clients will connect to the 2 servers in order to test replication functionality, stability and performance

FUNCTIONALITY TESTING

Test the replication of the following AMGA functions by applying them on the master DB and see whether the change is replicated to the slave:

  • Schema creation: PASSED
  • Adding attributes to a schema: PASSED
  • Removing attributes from a schema: PASSED
  • Adding entries to a schema: PASSED
  • Bulk insertion of entries: PASSED
  • Removing entries from a schema: PASSED
  • Creating Sequences: PASSED
  • Removing Sequences: PASSED
  • Creating Views: PASSED
  • Removing Views: PASSED

PERFORMANCE TESTS

Prepare environment: fill DB with e.g. 1000 directories (tables) with e.g. 1000 entries (rows) each 

1. Schema: schema_create (creation of table), rmdir (drop table), addattr (adding columns to table), removeattr (drop columns)
2. Adding/removing entries (inserting/deleting rows), setting/clearing attributes (updating rows)

a. Replication delay without load on DB and AMGA server
Same algorithm used for all replication delay tests:
- do change (e.g.createdir) on AMGA server 1
- wait until change appears on AMGA server 2 (e.g. dir) and then
- do change (e.g.createdir) on AMGA server 2
- wait until change appears on AMGA server 1
- do e.g. 500 such cycles and calculate average replication delay by 0.001*(TotalTime - TotalTime_WithoutReplication)
- to measure TotalTime_WithoutReplication - replication must be turned off and test is done on one server

Tests performed. Delay is widely spread between 1.5 and 8 seconds. The median is about 3 sec.

b. Replication speed 
Same algorithm used for all replication speed tests:
- do (e.g. 10.000) cycles (e.g. schema_create) on server1 and measure speed by checking appearance on replicated site of e.g. each 1000-st item assuming items are replicated in same order as they are created (eventually do a separate test to check that) or may be do a series of tests e.g. with 1000, 2000, 5000, 10000 entries and measure total replication time for each test
- check replicated items on server2 for completeness 
- replication speed e.g.  0.001 * (TimeServer2_at_N+1000_items - TimeServer2_at_N_items)
- compare to speed without replication: 0.001 * (TimeServer1_at_N+1000_items - TimeServer1_at_N_items) when replication is turned off
- measuring CPU load and disk IO on DB and AMGA server nodes could be useful
- having access to logs could help to analyze possible replication failures

Test is pending: Cannot stress servers.

----------------------------

1a. Schema replication delay
Separate tests for:  
   - schema_create (creation of table with e.g. 5 columns)
   - addattr (adding e.g. 5 columns to table)
   - removeattr (removing e.g. 5 columns from table)
   - rmdir (drop table)

1b. Schema replication speed
Separate tests for:
        - schema_create (creation of table with e.g. 5 columns), check with stat
        - addattr (adding e.g. 5 columns to table), check with listattr
        - removeattr (removing e.g. 5 columns from table), check with listattr
        - rmdir (drop table), check with stat
   
2a. Replication delay: adding/removing entries, setting attributes
Separate tests for:
   - addentry (insert row) 
   - setattr (update row)
   - removeantry (delete row)

2b. Replication speed: adding/removing entries, setting/clearing attributes
separate test for each command:
- addentry (insert row), check with stat
- rm - one entry per call (delete row), check with stat
- addentries - 10 entries at once (insert 10 rows)
- rm - 100 entries at once (delete 100 rows)
- upload - 100 entries at once and e.g. 100 cycles 
- setattr - one entry per call (update row), check with getattr
- updateattr - all entries at once (update all raws in all tables), check with getattr
[- clearattr - all entries at once]
- rm - all entries at once (delete all raws in all tables) 
Edit | Attach | Watch | Print version | History: r3 < r2 < r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r3 - 2006-03-09 - BirgerKoblitz
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    PSSGroup All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback