Semen Boikov created IGNITE-2952:
------------------------------------

             Summary: Add yardstick benchmark for cache load testing
                 Key: IGNITE-2952
                 URL: https://issues.apache.org/jira/browse/IGNITE-2952
             Project: Ignite
          Issue Type: Test
            Reporter: Semen Boikov


Need implement yardstick benchmark which will be used for cache load testing 
(add it in 'yardstick' module).

For this load testing nodes will be started with several pre-configured caches. 
Benchmark on each call of 'test' method should iterate over all configured 
caches (can get list of caches using Ignite.cacheNames) and execute some random 
operations:
- put(All)
- get(All)
- invoke(All)
- remove(All)
- putIfAbsent
- replace
- scan query

If cache is transaction also should execute cache operations inside explicitly 
start transaction with random concurrency/isolation mode.

It can run in scenario when server nodes are restarted, so for explicit 
transaction need use method IgniteBenchmarkUtils.doInTransaction which has 
logic for exception handling.

It should be possible to pre-load some cache data before starting test , there 
should be special benchmark parameter which specifies how many entries load in 
caches on start (see IgniteSqlQueryBenchmark.setUp as example of benchmark 
doing preloading)

Also it should use non-primitives objects as cache keys/values. Value class 
should have String, int, long, double, byte[] fields.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to