[
https://issues.apache.org/jira/browse/IGNITE-2952?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Semen Boikov updated IGNITE-2952:
---------------------------------
Description:
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 transactional it also should execute cache operations inside
explicitly start transaction with random concurrency/isolation mode.
This benchmark can be 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.
was:
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.
> 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 transactional it also should execute cache operations inside
> explicitly start transaction with random concurrency/isolation mode.
> This benchmark can be 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)