Search in sources :

Example 1 with BulkBenchmarkTask

use of org.elasticsearch.client.benchmark.ops.bulk.BulkBenchmarkTask in project elasticsearch by elastic.

the class AbstractBenchmark method runBulkIndexBenchmark.

@SuppressForbidden(reason = "system out is ok for a command line tool")
private void runBulkIndexBenchmark(String[] args) throws Exception {
    if (args.length != 7) {
        System.err.println("usage: 'bulk' benchmarkTargetHostIp indexFilePath indexName typeName numberOfDocuments bulkSize");
        System.exit(1);
    }
    String benchmarkTargetHost = args[1];
    String indexFilePath = args[2];
    String indexName = args[3];
    String typeName = args[4];
    int totalDocs = Integer.valueOf(args[5]);
    int bulkSize = Integer.valueOf(args[6]);
    int totalIterationCount = (int) Math.floor(totalDocs / bulkSize);
    // consider 40% of all iterations as warmup iterations
    int warmupIterations = (int) (0.4d * totalIterationCount);
    int iterations = totalIterationCount - warmupIterations;
    T client = client(benchmarkTargetHost);
    BenchmarkRunner benchmark = new BenchmarkRunner(warmupIterations, iterations, new BulkBenchmarkTask(bulkRequestExecutor(client, indexName, typeName), indexFilePath, warmupIterations, iterations, bulkSize));
    try {
        runTrials(() -> {
            runGc();
            benchmark.run();
        });
    } finally {
        client.close();
    }
}
Also used : BulkBenchmarkTask(org.elasticsearch.client.benchmark.ops.bulk.BulkBenchmarkTask) SuppressForbidden(org.elasticsearch.common.SuppressForbidden)

Aggregations

BulkBenchmarkTask (org.elasticsearch.client.benchmark.ops.bulk.BulkBenchmarkTask)1 SuppressForbidden (org.elasticsearch.common.SuppressForbidden)1