Re: Scalability of transient Prevayler
Klaus Wuestefeld <[email protected]> Sat, 25 Oct 2014 17:50:05 -0200
| Newsgroups | gmane.comp.java.prevayler |
|---|---|
| Message-ID | <CAMAooZEpj5CsWU7cK8g+Go5QM-OJ5ZaQDzTEPz7PZJ1Mu2n7tA@mail.gmail.com> |
--===============3465180047178637559== Content-Type: multipart/alternative; boundary=001a1133b742a9c06b0506449af5 --001a1133b742a9c06b0506449af5 Content-Type: text/plain; charset=ISO-8859-1 Something is weird. ops per second times seconds is way below total ops for most results. On Oct 24, 2014 5:55 PM, "Christian Stein" <[email protected]> wrote: > Hallo! > > What do you expect, when you switch the default Prevayler implementation > into *transient mode*, skip deep copies (and turn disk sync off, just in > case)? Here is the snippet from > PrevaylerTransactionSubject#initializePrevayler() > > factory = new PrevaylerFactory<>(); > factory.configurePrevalentSystem(new TransactionSystem()); > factory.configurePrevalenceDirectory(_journalDirectory); > factory.configureJournalSerializer("journal", ...); > factory.configureTransientMode(true); > factory.configureTransactionDeepCopy(false); > factory.configureJournalDiskSync(false); > prevayler = factory.create(); // No snapshot is generated. > > I expected well performing and according to my hardware (4 cores, 8 > logical processors) scaling numbers. But I got this: > > Each round will take approx. 20 seconds to run... > > Memory used : 1758986240 > Disk space used : 0 > Seconds ellapsed: 20.564 > Operations total: 912580 > --------- Round Result: 44377,55 operations/second (1 threads) > > Memory used : 1758986240 > Disk space used : 0 > Seconds ellapsed: 20.376 > Operations total: 997549 > --------- Round Result: 4170,05 operations/second (2 threads) > > Memory used : 1758986240 > Disk space used : 0 > Seconds ellapsed: 21.299 > Operations total: 1009875 > --------- Round Result: 578,71 operations/second (3 threads) > > Memory used : 1758986240 > Disk space used : 0 > Seconds ellapsed: 23.175 > Operations total: 1011376 > --------- Round Result: 64,77 operations/second (4 threads) > > Memory used : 1758986240 > Disk space used : 0 > Seconds ellapsed: 33.357 > Operations total: 1011385 > --------- Round Result: 0,27 operations/second (5 threads) > > Memory used : 1758986240 > Disk space used : 0 > Seconds ellapsed: 54.35 > Operations total: 1011416 > --------- Round Result: 0,57 operations/second (6 threads) > > Memory used : 1758986240 > Disk space used : 0 > Seconds ellapsed: 52.195 > Operations total: 1011437 > --------- Round Result: 0,40 operations/second (7 threads) > > Memory used : 1758986240 > Disk space used : 0 > Seconds ellapsed: 65.352 > Operations total: 1011464 > --------- Round Result: 0,41 operations/second (8 threads) > > ----------- BEST ROUND: 44377,55 operations/second (1 threads) > > > ...so, if the persisting task takes virtually no time, the benchmark is > acting not as I expected. This actually could explain why the P8 test runs > are producing such low throughput results. > > Cheers, > Christian > > > ------------------------------------------------------------------------------ > > _______________________________________________ > To unsubscribe go to the end of this page: > http://lists.sourceforge.net/lists/listinfo/prevayler-discussion > _______________________________________________ > "Databases in Memoriam" -- http://www.prevayler.org > > --001a1133b742a9c06b0506449af5 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable <p dir=3D"ltr">Something is weird. ops per second times seconds is way belo= w total ops for most results.</p> <div class=3D"gmail_quote">On Oct 24, 2014 5:55 PM, "Christian Stein&q= uot; <<a href=3D"mailto:[email protected]">[email protected]</a>> w= rote:<br type=3D"attribution"><blockquote class=3D"gmail_quote" style=3D"ma= rgin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir=3D"lt= r">Hallo!<div><br></div><div>What do you expect, when you switch the defaul= t Prevayler implementation into <b>transient mode</b>, skip deep copies (an= d turn disk sync off, just in case)? Here is the snippet from=A0<font face= =3D"courier new, monospace">PrevaylerTransactionSubject#initializePrevayler= ()</font></div><div><br></div><div><div><font face=3D"courier new, monospac= e">factory =3D new PrevaylerFactory<>();</font></div><div><font face= =3D"courier new, monospace">factory.configurePrevalentSystem(new Transactio= nSystem());</font></div><div><font face=3D"courier new, monospace">factory.= configurePrevalenceDirectory(_journalDirectory);</font></div><div><font fac= e=3D"courier new, monospace">factory.configureJournalSerializer("journ= al", ...);</font></div><div><font face=3D"courier new, monospace">fact= ory.configureTransientMode(true);</font></div><div><font face=3D"courier ne= w, monospace">factory.configureTransactionDeepCopy(false);</font></div><div= ><font face=3D"courier new, monospace">factory.configureJournalDiskSync(fal= se);</font></div><div><font face=3D"courier new, monospace">prevayler =3D f= actory.create(); // No snapshot is generated.</font></div></div><div><br></= div><div>I expected well performing and according to my hardware (4 cores, = 8 logical processors) scaling numbers. But I got this:</div><div><br></div>= <div><div>Each round will take approx. 20 seconds to run...</div><div><br><= /div><div>Memory used =A0 =A0 : 1758986240</div><div>Disk space used : 0</d= iv><div>Seconds ellapsed: 20.564</div><div>Operations total: 912580</div><d= iv>--------- Round Result: 44377,55 operations/second (1 threads)</div><div= ><br></div><div>Memory used =A0 =A0 : 1758986240</div><div>Disk space used = : 0</div><div>Seconds ellapsed: 20.376</div><div>Operations total: 997549</= div><div>--------- Round Result: 4170,05 operations/second (2 threads)</div= ><div><br></div><div>Memory used =A0 =A0 : 1758986240</div><div>Disk space = used : 0</div><div>Seconds ellapsed: 21.299</div><div>Operations total: 100= 9875</div><div>--------- Round Result: 578,71 operations/second (3 threads)= </div><div><br></div><div>Memory used =A0 =A0 : 1758986240</div><div>Disk s= pace used : 0</div><div>Seconds ellapsed: 23.175</div><div>Operations total= : 1011376</div><div>--------- Round Result: 64,77 operations/second (4 thre= ads)</div><div><br></div><div>Memory used =A0 =A0 : 1758986240</div><div>Di= sk space used : 0</div><div>Seconds ellapsed: 33.357</div><div>Operations t= otal: 1011385</div><div>--------- Round Result: 0,27 operations/second (5 t= hreads)</div><div><br></div><div>Memory used =A0 =A0 : 1758986240</div><div= >Disk space used : 0</div><div>Seconds ellapsed: 54.35</div><div>Operations= total: 1011416</div><div>--------- Round Result: 0,57 operations/second (6= threads)</div><div><br></div><div>Memory used =A0 =A0 : 1758986240</div><d= iv>Disk space used : 0</div><div>Seconds ellapsed: 52.195</div><div>Operati= ons total: 1011437</div><div>--------- Round Result: 0,40 operations/second= (7 threads)</div><div><br></div><div>Memory used =A0 =A0 : 1758986240</div= ><div>Disk space used : 0</div><div>Seconds ellapsed: 65.352</div><div>Oper= ations total: 1011464</div><div>--------- Round Result: 0,41 operations/sec= ond (8 threads)</div><div><br></div><div>----------- BEST ROUND: 44377,55 o= perations/second (1 threads)</div></div><div><br></div><div><br></div><div>= ...so, if the persisting task takes virtually no time, the benchmark is act= ing not as I expected. This actually could explain why the P8 test runs are= producing such low throughput results.</div><div><br></div><div>Cheers,</d= iv><div>Christian</div></div> <br>-----------------------------------------------------------------------= -------<br> <br>_______________________________________________<br> To unsubscribe go to the end of this page: <a href=3D"http://lists.sourcefo= rge.net/lists/listinfo/prevayler-discussion" target=3D"_blank">http://lists= .sourceforge.net/lists/listinfo/prevayler-discussion</a><br> _______________________________________________<br> "Databases in Memoriam" -- <a href=3D"http://www.prevayler.org" t= arget=3D"_blank">http://www.prevayler.org</a><br> <br></blockquote></div> --001a1133b742a9c06b0506449af5-- --===============3465180047178637559== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline ------------------------------------------------------------------------------ --===============3465180047178637559== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ To unsubscribe go to the end of this page: http://lists.sourceforge.net/lists/listinfo/prevayler-discussion _______________________________________________ "Databases in Memoriam" -- http://www.prevayler.org --===============3465180047178637559==--