Ivan Artukhov created IGNITE-19664:
--------------------------------------

             Summary: Insufficient performance of key-value operations via Java 
thin client
                 Key: IGNITE-19664
                 URL: https://issues.apache.org/jira/browse/IGNITE-19664
             Project: Ignite
          Issue Type: Bug
            Reporter: Ivan Artukhov
         Attachments: gc.log.20230606_074305, ignite-config.conf, 
ignite3db-0.log, ycsb-run8-thin.txt, ycsb-run9-embedded.txt

Apache Ignite 3, rev. 0c68cbe3f016e508bd9d53ce5320c88acba1acff
YCSB key-value benchmarks: 
https://github.com/gridgain/YCSB/tree/ae687c3bbd82eb7ce7b886af9a2ae2757457097c/ignite3

h1. Summary

The performance of key-value {{put()}} operations may be ~1.5 worse if 
performed via Java thin client in comparison to similar {{put()}} operations 
performed within an embedded node. 

h1. Test 1. Thin client node

h2. Steps

Start a separate Ignite 3 node and a YCSB client which "100% inserts" workload.

1. Start an Apache Ignite 3 server node with the attached 
{{ignite-config.conf}}.

2. Start a YCSB client node which performs {{KeyValueView#put}} operations. 
YCSB command line options: {{-db site.ycsb.db.ignite3.IgniteClient -p 
hosts=127.0.0.1 -s -P ./workloads/workloadc -threads 4 -p dataintegrity=true -p 
operationcount=1000000 -p recordcount=1000000 -p disableFsync=true -p 
useEmbedded=false -load}}

h2. Results

{noformat}
[OVERALL], RunTime(ms), 282482
[OVERALL], Throughput(ops/sec), 3540.048569466373
[CLEANUP], Operations, 4
[CLEANUP], AverageLatency(us), 2487301.25
[CLEANUP], MinLatency(us), 4
[CLEANUP], MaxLatency(us), 9953279
[CLEANUP], 95thPercentileLatency(us), 9953279
[CLEANUP], 99thPercentileLatency(us), 9953279
[INSERT], Operations, 1000000
[INSERT], AverageLatency(us), 1067.488346
[INSERT], MinLatency(us), 492
[INSERT], MaxLatency(us), 421375
[INSERT], 95thPercentileLatency(us), 2059
[INSERT], 99thPercentileLatency(us), 5151
[INSERT], Return=OK, 1000000
{noformat}

Node's log:  [^ignite3db-0.log] 
Node's GC log:  [^gc.log.20230606_074305] 
Node's config:  [^ignite-config.conf] 
YCSB log:  [^ycsb-run8-thin.txt] 

h1. Test 2. Embedded node

h2. Steps

The following step will start YCSB with an embedded Ignite 3 node within the 
same JVM and the "100% insert" workload on that node. 

1. Run YCSB with the {{useEmbedded=true}} parameter: {{-db 
site.ycsb.db.ignite3.IgniteClient -p hosts=127.0.0.1 -s -P 
./workloads/workloadc -threads 4 -p dataintegrity=true -p 
operationcount=1000000 -p recordcount=1000000 -p disableFsync=true -p 
useEmbedded=true -load}}

h2. Results

{noformat}
[OVERALL], RunTime(ms), 173993
[OVERALL], Throughput(ops/sec), 5747.357652319346
[INSERT], Operations, 1000000
[INSERT], AverageLatency(us), 614.723711
[INSERT], MinLatency(us), 284
[INSERT], MaxLatency(us), 342271
[INSERT], 95thPercentileLatency(us), 1182
[INSERT], 99thPercentileLatency(us), 3357
[INSERT], Return=OK, 1000000
{noformat}

Whole YCSB log:  [^ycsb-run9-embedded.txt] 




--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to