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, &quot;Christian Stein&q=
uot; &lt;<a href=3D"mailto:[email protected]">[email protected]</a>&gt; 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&lt;&gt;();</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(&quot;journ=
al&quot;, ...);</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>
&quot;Databases in Memoriam&quot; -- <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==--