Re: Implementation PrevaylerEight
Klaus Wuestefeld <[email protected]> Tue, 21 Oct 2014 18:14:04 -0200
| Newsgroups | gmane.comp.java.prevayler |
|---|---|
| Message-ID | <CAMAooZHa6iLpV_AcySONCnzpUxPcT6f5XjvH9g5hn=NNQcQ5uA@mail.gmail.com> |
--===============1947127382225235989== Content-Type: multipart/alternative; boundary=001a11c3749e0e8be10505f4797b --001a11c3749e0e8be10505f4797b Content-Type: text/plain; charset=ISO-8859-1 Nice graph! On Tue, Oct 21, 2014 at 5:25 PM, Marcel Oerlemans <[email protected] > wrote: > Hi Christian, > > Those numbers are impressive! > I see you tested default Prevayler up to only 8 threads. You might want to > scale that up a bit? > > After I read your mail, I ran a prevayler scalability test, from 1 to 1500 > threads, 20 seconds per round/ > In my test setup Prevayler handled 60 transactions/second @ 8 threads, but > at 1489 threads, Prevayler could handle 5945 transactions / second. That's > ~100 times as many. Results in graph form can be found here: > http://imgur.com/sRIaCVD > > I wanted to do a similar test with Prevayler8, but I see now I need two > classes which I cant seem to find: ByteBufferOutputStream > and ByteBufferInputStream. Can you help me with that? > > Best regards, > Marcel Oerlemans > > > > > > On Thu, Oct 16, 2014 at 12:13 PM, Christian Stein <[email protected]> > wrote: > >> Hi folks, >> >> I recently found some spare time and made the scalability test use >> the PrevaylerEight implementation. See [0] for the outline of its source. A >> single-system-wide lock facade prevayler implementation is used for >> synchronization, at the moment. >> >> The initial results are promising in terms of performance and consistency: >> >> - Default Prevayler: 1511,00 operations/second (8 threads) >> - PrevaylerEight implementation: 89189,50 operations/second (2 >> threads) >> >> >> These microbenchmarks are, especially when the consistency checks kicks >> in, very garbage collection dependent. I had to set >> the TransactionTestCheckConsistency to NO, because replaying more the >> 1.000.000 transactions into the prevalent system would still be running... >> Ran the benchmark with -verbose:gc and saw after an hour that every 10 >> deserialized transactions a full GC. >> >> So, I had to lower the round duration from 20 to 2 seconds. This change >> makes the results even more dependent on the gc, jit, et al. But, now some >> results are shown. See console output at [0] and [1]. Query runs and JDBC >> runs are switched off. >> >> Next time, I'll integrate Caliper[3] to show more details. >> >> Cheers, >> Christian >> >> [0] PrevaylerEight.java >> https://gist.github.com/sormuras/3fea6f6ade327b2a4249 >> [1] Result PrevaylerImpl >> https://gist.github.com/sormuras/ef279705d5838a757964 >> [2] Result PrevaylerEight >> https://gist.github.com/sormuras/6f61c6af2066d5f8bf87 >> [3] Caliper https://code.google.com/p/caliper/ >> >> >> ------------------------------------------------------------------------------ >> Comprehensive Server Monitoring with Site24x7. >> Monitor 10 servers for $9/Month. >> Get alerted through email, SMS, voice calls or mobile push notifications. >> Take corrective actions from your mobile device. >> http://p.sf.net/sfu/Zoho >> _______________________________________________ >> To unsubscribe go to the end of this page: >> http://lists.sourceforge.net/lists/listinfo/prevayler-discussion >> _______________________________________________ >> "Databases in Memoriam" -- http://www.prevayler.org >> >> > > > ------------------------------------------------------------------------------ > Comprehensive Server Monitoring with Site24x7. > Monitor 10 servers for $9/Month. > Get alerted through email, SMS, voice calls or mobile push notifications. > Take corrective actions from your mobile device. > http://p.sf.net/sfu/Zoho > _______________________________________________ > To unsubscribe go to the end of this page: > http://lists.sourceforge.net/lists/listinfo/prevayler-discussion > _______________________________________________ > "Databases in Memoriam" -- http://www.prevayler.org > > -- Valeu, Klaus. --001a11c3749e0e8be10505f4797b Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr">Nice graph!<br></div><div class=3D"gmail_extra"><br><div c= lass=3D"gmail_quote">On Tue, Oct 21, 2014 at 5:25 PM, Marcel Oerlemans <spa= n dir=3D"ltr"><<a href=3D"mailto:[email protected]" target=3D"_b= lank">[email protected]</a>></span> wrote:<br><blockquote class= =3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padd= ing-left:1ex"><div dir=3D"ltr">Hi Christian,<div><br></div><div>Those numbe= rs are impressive!</div><div>I see you tested default Prevayler up to only = 8 threads. You might want to scale that up a bit?=A0</div><div><br></div><d= iv>After I read your mail, I ran a prevayler scalability test, from 1 to 15= 00 threads, 20 seconds per round/</div><div>In my test setup Prevayler hand= led 60 transactions/second @ 8 threads, but at 1489 threads, Prevayler coul= d handle 5945 transactions / second. That's ~100 times as many. Results= in graph form can be found here:=A0<a href=3D"http://imgur.com/sRIaCVD" ta= rget=3D"_blank">http://imgur.com/sRIaCVD</a></div><div><br></div><div>I wan= ted to do a similar test with Prevayler8, but I see now I need two classes = which I cant seem to find:=A0ByteBufferOutputStream and=A0ByteBufferInputSt= ream. Can you help me with that?<br></div><div><br></div><div>Best regards,= </div><div>Marcel Oerlemans</div><div><br></div><div><br></div><div><br></d= iv><div><br></div></div><div class=3D"gmail_extra"><br><div class=3D"gmail_= quote">On Thu, Oct 16, 2014 at 12:13 PM, Christian Stein <span dir=3D"ltr">= <<a href=3D"mailto:[email protected]" target=3D"_blank">sormuras@gmail.= com</a>></span> wrote:<br><blockquote class=3D"gmail_quote" style=3D"mar= gin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr= ">Hi folks,<div><br></div><div>I recently found some spare time and made th= e scalability test use the=A0PrevaylerEight implementation. See [0] for the= outline of its source. A single-system-wide lock facade prevayler implemen= tation is used for synchronization, at the moment.</div><div><br></div><div= >The initial results are promising in terms of performance and consistency:= </div><div><ul><li>Default Prevayler: 1511,00 operations/second (8 threads)= </li><li>PrevaylerEight implementation: 89189,50 operations/second (2 threa= ds)</li></ul></div><div><br></div><div>These microbenchmarks are, especiall= y when the consistency checks kicks in, very garbage collection dependent. = I had to set the=A0TransactionTestCheckConsistency to NO, because replaying= more the 1.000.000 transactions into the prevalent system would still be r= unning... Ran the benchmark with=A0<span style=3D"color:rgb(0,0,0);font-fam= ily:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono'= ;,'DejaVu Sans Mono','Bitstream Vera Sans Mono','Courie= r New',monospace,serif;font-size:14px;line-height:17.8048000335693px;wh= ite-space:pre-wrap;background-color:rgb(238,238,238)">-verbose:gc</span>=A0= and saw after an hour that every 10 deserialized transactions a full GC.=A0= </div><div><br></div><div>So, I had to lower the round duration from 20 to = 2 seconds. This change makes the results even more dependent on the gc, jit= , et al. But, now some results are shown. See console output at [0] and [1]= . Query runs and JDBC runs are switched off.</div><div><br></div><div>Next = time, I'll integrate Caliper[3] to show more details.=A0</div><div><br>= </div><div>Cheers,</div><div>Christian</div><div><br></div><div>[0] Prevayl= erEight.java <a href=3D"https://gist.github.com/sormuras/3fea6f6ade327b2a42= 49" target=3D"_blank">https://gist.github.com/sormuras/3fea6f6ade327b2a4249= </a></div><div>[1] Result PrevaylerImpl=A0<a href=3D"https://gist.github.co= m/sormuras/ef279705d5838a757964" target=3D"_blank">https://gist.github.com/= sormuras/ef279705d5838a757964</a></div><div>[2] Result PrevaylerEight=A0<a = href=3D"https://gist.github.com/sormuras/6f61c6af2066d5f8bf87" target=3D"_b= lank">https://gist.github.com/sormuras/6f61c6af2066d5f8bf87</a></div><div>[= 3] Caliper <a href=3D"https://code.google.com/p/caliper/" target=3D"_blank"= >https://code.google.com/p/caliper/</a></div></div> <br>-----------------------------------------------------------------------= -------<br> Comprehensive Server Monitoring with Site24x7.<br> Monitor 10 servers for $9/Month.<br> Get alerted through email, SMS, voice calls or mobile push notifications.<b= r> Take corrective actions from your mobile device.<br> <a href=3D"http://p.sf.net/sfu/Zoho" target=3D"_blank">http://p.sf.net/sfu/= Zoho</a><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><br></div> <br>-----------------------------------------------------------------------= -------<br> Comprehensive Server Monitoring with Site24x7.<br> Monitor 10 servers for $9/Month.<br> Get alerted through email, SMS, voice calls or mobile push notifications.<b= r> Take corrective actions from your mobile device.<br> <a href=3D"http://p.sf.net/sfu/Zoho" target=3D"_blank">http://p.sf.net/sfu/= Zoho</a><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><br><br clear=3D"all"><br>-- <br>Valeu, Klaus. </div> --001a11c3749e0e8be10505f4797b-- --===============1947127382225235989== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline ------------------------------------------------------------------------------ Comprehensive Server Monitoring with Site24x7. Monitor 10 servers for $9/Month. Get alerted through email, SMS, voice calls or mobile push notifications. Take corrective actions from your mobile device. http://p.sf.net/sfu/Zoho --===============1947127382225235989== 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 --===============1947127382225235989==--