Commit a6b14b8d authored by unknown's avatar unknown

wl2126 - ndb - batching of range scans

  between 80% and 360% performance improvement measured


ndb/docs/wl2077.txt:
  Update figures after batching of range scans and pekka's blob fixes
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
  Don't close scan if other ranges exists
parent a72a5f12
...@@ -3,12 +3,16 @@ ...@@ -3,12 +3,16 @@
1 host, 1 ndbd, api co-hosted 1 host, 1 ndbd, api co-hosted
results in 1000 rows / sec results in 1000 rows / sec
wo/reset bounds w/ rb wo/reset bounds w/ rb
4.1-read committed a) 4.9 b) 7.4 4.1-read committed a) 4.9 b) 7.4
4.1-read hold lock c) 4.7 d) 6.7 4.1-read hold lock c) 4.7 d) 6.7
wl2077-read committed 6.4 (+30%) 10.8 (+45%)
wl2077-read hold lock 4.6 (-1%) 6.7 (+ 0%)
5.0-ndb batch read committed f) 50' (+680%) g) 50' (+360%)
5.0-ndb batch read hold lock h) 12' (+160%) i) 13' (+79%)
wl2077-read committed 6.4 (+30%) 10.8 (+45%)
wl2077-read hold lock 4.6 (-1%) 6.7 (+ 0%)
-- Comparision e) -- Comparision e)
serial pk: 10.9' serial pk: 10.9'
...@@ -25,6 +29,8 @@ b) testScanPerf -s 100000 -c 0 -d 0 -a 1 -l 0 -r 2 -q 1 T1 ...@@ -25,6 +29,8 @@ b) testScanPerf -s 100000 -c 0 -d 0 -a 1 -l 0 -r 2 -q 1 T1
c) testScanPerf -s 100000 -c 0 -d 0 -a 1 -l 1 -r 2 -q 0 T1 c) testScanPerf -s 100000 -c 0 -d 0 -a 1 -l 1 -r 2 -q 0 T1
d) testScanPerf -s 100000 -c 0 -d 0 -a 1 -l 1 -r 2 -q 1 T1 d) testScanPerf -s 100000 -c 0 -d 0 -a 1 -l 1 -r 2 -q 1 T1
e) testReadPerf -i 25 -c 0 -d 0 T1 e) testReadPerf -i 25 -c 0 -d 0 T1
f) testScanPerf -s 100000 -c 0 -d 0 -a 1 -l 0 -r 3 -q 0 -m 1000 -i 10 T1
g) testScanPerf -s 100000 -c 0 -d 0 -a 1 -l 0 -r 3 -q 1 -m 1000 -i 10 T1
--- music join 1db-co 2db-co --- music join 1db-co 2db-co
...@@ -33,3 +39,5 @@ e) testReadPerf -i 25 -c 0 -d 0 T1 ...@@ -33,3 +39,5 @@ e) testReadPerf -i 25 -c 0 -d 0 T1
wl2077 12s 14s wl2077 12s 14s
wl2077 wo/ blobs 1.2s (-30%) 2.5s (-22%) wl2077 wo/ blobs 1.2s (-30%) 2.5s (-22%)
pekka-blob-fix 1.3s
...@@ -8110,7 +8110,10 @@ void Dblqh::nextScanConfScanLab(Signal* signal) ...@@ -8110,7 +8110,10 @@ void Dblqh::nextScanConfScanLab(Signal* signal)
if (scanptr.p->m_curr_batch_size_rows > 0) { if (scanptr.p->m_curr_batch_size_rows > 0) {
jam(); jam();
scanptr.p->scanCompletedStatus = ZTRUE;
if((tcConnectptr.p->primKeyLen - 4) == 0)
scanptr.p->scanCompletedStatus = ZTRUE;
scanptr.p->scanState = ScanRecord::WAIT_SCAN_NEXTREQ; scanptr.p->scanState = ScanRecord::WAIT_SCAN_NEXTREQ;
sendScanFragConf(signal, ZFALSE); sendScanFragConf(signal, ZFALSE);
return; return;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment