Page 3 of 3 FirstFirst 123
Results 21 to 30 of 30

Thread: VoltDB tpc-c-like Benchmark Comparison-Benchmark Description

  1. #21
    Senior Member
    Join Date
    Feb 2010
    Posts
    229

    re: benchmark

    Tuan,

    I reviewed your information.

    Given that you are running the benchmark controller, client, and server on a quad-core desktop with 4GB RAM I think your results are appropriate. Try running the benchmark controller and client from a separate machine to get better results.

    -Tim

  2. #22
    New Member
    Join Date
    Feb 2012
    Posts
    5

    Hi Tim, Could you please give

    Hi Tim,


    Could you please give more details instructions about how to run benchmark controller and client on different machines? I followed the instructions posted above to run TPCC and it works fine when localMood = true, but when I change localMood=false, and let host run on a remote machine, the controller is waiting for server to be ready forever. The last info I can see is:
    [java] localhostINFO: Maximum clock/network skew is 0 milliseconds (according to leader)


    Could you help me figure this out? Thanks a lot!

  3. #23
    Super Moderator
    Join Date
    Feb 2010
    Posts
    186

    Running TPC-C

    We have stopped developing/supporting/using the benchmark controller framework we used for these initial benchmarks. We now run our internal benchmarking using some python scripting and the REST interface that is part of VEM.

    You can find the TPC-C implementation (driver, schema, project files..) here: https://github.com/VoltDB/voltdb/tree/master/tests/test_apps/tpcc



    Ryan.

  4. #24
    New Member
    Join Date
    Feb 2012
    Posts
    5

    Thank you very much, Ryan! I

    Quote Originally Posted by rbetts View Post
    We have stopped developing/supporting/using the benchmark controller framework we used for these initial benchmarks. We now run our internal benchmarking using some python scripting and the REST interface that is part of VEM.

    You can find the TPC-C implementation (driver, schema, project files..) here: https://github.com/VoltDB/voltdb/tree/master/tests/test_apps/tpcc

    Ryan.
    Thank you very much, Ryan! I will check it out!

  5. #25

    How to Download the code

    could u tell me how to get the code.
    i don't have username/passwd, the account of community didn't work for the svn login

  6. #26
    Super Moderator
    Join Date
    Feb 2010
    Posts
    186

    The code is available on

    Quote Originally Posted by billmanson View Post
    could u tell me how to get the code.
    i don't have username/passwd, the account of community didn't work for the svn login
    The code is available on github: https://github.com/VoltDB/voltdb/tre...test_apps/tpcc
    Ryan.

  7. #27
    Hy,
    I'm new to everything :) and I have to do TPC-C benchmark on VoltDB and MySQL. So, I have downloaded VMWare version of VoltDB.
    I saw on this link (https://github.com/VoltDB/voltdb/tre...test_apps/tpcc) a lot of code :) and I would like to know what I have to do to run TPC-C benchmark on my machine.
    Is there any site that explain TPC-C benchmark for beginners?

    Thanks

  8. #28
    New Member
    Join Date
    Oct 2016
    Posts
    22
    Hi Bheath,
    For VoltDB transactions per second number, can I get them from the Cluster Transactions (tps) graph provided in VoltDB Management Console, or is there any other method to get the numbers? I have attached the snapshot of the graph.12.jpg

  9. #29
    New Member
    Join Date
    Oct 2016
    Posts
    22
    Quote Originally Posted by tcallaghan View Post
    Tuan,
    If you look at the output from the benchmark you'll see the following:

    [java] At time 60000 out of 60000 (100%):
    [java] In the past 10000 ms:
    [java] Completed 572811 txns at a rate of 57281.10 txns/s
    [java] Since the benchmark began:
    [java] Completed 3413447 txns at a rate of 56890.78 txns/s
    [java]
    [java] ============================== BENCHMARK RESULTS ==============================
    [java] Time: 60000 ms
    [java] Total transactions: 3413447
    [java] Transactions per second: 56890.78
    [java] Delivery: 136273 total 2271.22 txn/s 136273.00 txn/m
    [java] New Order: 1536975 total 25616.25 txn/s 1536975.00 txn/m
    [java] Order Status: 136623 total 2277.05 txn/s 136623.00 txn/m
    [java] Payment: 1466581 total 24443.02 txn/s 1466581.00 txn/m
    [java] Reset Warehouse: 0 total 0.00 txn/s 0.00 txn/m
    [java] Stock Level: 136995 total 2283.25 txn/s 136995.00 txn/m
    [java] Breakdown by client:
    [java] 10.10.20.155:0: 3413447 total 56890.78 txn/s 3413447.00 txn/m
    [java] ================================================== =============================

    So in this example I'm doing a total of 56,890.78 transactions per second. Below that it shows the total, transactions per second, and transactions per minute of each transaction type.

    Is that what you are looking for?
    -Tim
    Hi Tim,
    How did you measure the txn/sec. Did you measure it from VoltDB Management Console or you do it manually? Also how is this breakup of txn/sec for each type of transaction obtained? If you do it through some java code, can you plz give me the link?

  10. #30
    Super Moderator
    Join Date
    Dec 2011
    Posts
    206
    Hi sanket,

    The benchmark is a java application that measures the txn/sec and other metrics using the ClientStats and ClientStatsContext classes that are part of the java client. The Javadoc for these is here: https://docs.voltdb.com/javadoc/java-client-api/

    For examples of using ClientStats and ClientStatsContext, you can look at any of our apps in the examples folder included in the kit.

    Another example I can point out is a simple benchmark template (https://github.com/benjaminballard/a.../src/benchmark) that has a helper class BenchmarkStats that handles the boilerplate of collecting and reporting these stats. The Benchmark class has an example of how this is used:

    BenchmarkStats stats = new BenchmarkStats(client);
    stats.startBenchmark();
    ... //do some work
    stats.endBenchmark();

    For other clients, and in general, it is easier to capture txn/sec by calling "exec @Statistics PROCEDUREPROFILE 0;" periodically and calculating the differences. This is the same source of data that is used by the VMC graphs. We recently (v6.8) added a script under the tools folder called "watch_performance.py" that periodically calls @Statistics and outputs the tps and other metrics for each procedure executed within the interval. This can be redirected to a log file to capture periodic performance metrics over the course of some long-running workload.

    -Ben

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •