public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
* Re: [Bitcoin-development] performance testing for bitcoin
       [not found] ` <CAEC9zAYrMHHEyyTx1QVHoGSJU3fFypB0Hx4K-VFoUn0hp4Z7JA@mail.gmail.com>
@ 2012-10-03 17:38   ` Ian Miers
  2012-10-03 17:43     ` Jeff Garzik
  0 siblings, 1 reply; 5+ messages in thread
From: Ian Miers @ 2012-10-03 17:38 UTC (permalink / raw)
  To: bitcoin-development

[-- Attachment #1: Type: text/plain, Size: 836 bytes --]

Whats the best way to get performance numbers for modifications to bitcoin
? Profiling it while running on testnet might work, but that would take a
rather long time to get data.
Is there anyway to speed this up  if we only needed to
provide  relative performance between tests. (in a sense a fast performance
regression test).

At least in theory, one possibility would be to replay real
bitcoin transactions  to a test-net-in-a-box network (of maybe a few nodes)
that has the real blockchain history loaded into it but then operates at a
far reduced hash difficulty in order facilitate running quickly.

Are there existing techniques/scripts for  some kind of perf testing with
traffic that at least approximates real world traffic ?
The test infrastructure  that ships with bitcoin does not appear to provide
this.

Thanks,
Ian

>
>

[-- Attachment #2: Type: text/html, Size: 1084 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Bitcoin-development] performance testing for bitcoin
  2012-10-03 17:38   ` [Bitcoin-development] performance testing for bitcoin Ian Miers
@ 2012-10-03 17:43     ` Jeff Garzik
  2012-10-03 17:57       ` Ian Miers
  0 siblings, 1 reply; 5+ messages in thread
From: Jeff Garzik @ 2012-10-03 17:43 UTC (permalink / raw)
  To: Ian Miers; +Cc: bitcoin-development

On Wed, Oct 3, 2012 at 1:38 PM, Ian Miers <imiers1@jhu•edu> wrote:
> Whats the best way to get performance numbers for modifications to bitcoin ?
> Profiling it while running on testnet might work, but that would take a
> rather long time to get data.
> Is there anyway to speed this up  if we only needed to provide  relative
> performance between tests. (in a sense a fast performance regression test).

You have to be specific about what you're measuring, because
"performance" is vague.

You can measure many aspects of blockchain performance by importing
blocks via -loadblock=FILE.

Other performance measurements like "how fast does a block relay
through the network" cannot be as easily measured.

-- 
Jeff Garzik
exMULTI, Inc.
jgarzik@exmulti•com



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Bitcoin-development] performance testing for bitcoin
  2012-10-03 17:43     ` Jeff Garzik
@ 2012-10-03 17:57       ` Ian Miers
  2012-10-04  9:55         ` Joel Joonatan Kaartinen
  0 siblings, 1 reply; 5+ messages in thread
From: Ian Miers @ 2012-10-03 17:57 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: bitcoin-development

[-- Attachment #1: Type: text/plain, Size: 1327 bytes --]

Script evaluation performance was what I was primarily concerned with.  I'm
fooling around with adding some new instruction types.
The tricky part is that to test how that effects performance, you need to
be able to intersperse transactions with the new instructions with existing
ones.  For accuracy, you'd like your simulated traffic to at least
approximate the real world traffic.


Also, is there any bench-marking / instrumentation in bitcoind ?

Ian
On Wed, Oct 3, 2012 at 1:43 PM, Jeff Garzik <jgarzik@exmulti•com> wrote:

> On Wed, Oct 3, 2012 at 1:38 PM, Ian Miers <imiers1@jhu•edu> wrote:
> > Whats the best way to get performance numbers for modifications to
> bitcoin ?
> > Profiling it while running on testnet might work, but that would take a
> > rather long time to get data.
> > Is there anyway to speed this up  if we only needed to provide  relative
> > performance between tests. (in a sense a fast performance regression
> test).
>
> You have to be specific about what you're measuring, because
> "performance" is vague.
>
> You can measure many aspects of blockchain performance by importing
> blocks via -loadblock=FILE.
>
> Other performance measurements like "how fast does a block relay
> through the network" cannot be as easily measured.
>
> --
> Jeff Garzik
> exMULTI, Inc.
> jgarzik@exmulti•com
>

[-- Attachment #2: Type: text/html, Size: 1944 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Bitcoin-development] performance testing for bitcoin
  2012-10-03 17:57       ` Ian Miers
@ 2012-10-04  9:55         ` Joel Joonatan Kaartinen
  2012-10-04 16:31           ` Ian Miers
  0 siblings, 1 reply; 5+ messages in thread
From: Joel Joonatan Kaartinen @ 2012-10-04  9:55 UTC (permalink / raw)
  To: Ian Miers; +Cc: bitcoin-development

For script evaluation benchmarking, I don't think just a good
approximation of real-world traffic is enough. You really need to
benchmark the worst case scenarios, otherwise you could be creating a
DoS vulnerability.

- Joel

ke, 2012-10-03 kello 13:57 -0400, Ian Miers kirjoitti:
> Script evaluation performance was what I was primarily concerned
> with.  I'm fooling around with adding some new instruction types.
> The tricky part is that to test how that effects performance, you need
> to be able to intersperse transactions with the new instructions with
> existing ones.  For accuracy, you'd like your simulated traffic to at
> least approximate the real world traffic.
> 
> 
> 
> 
> Also, is there any bench-marking / instrumentation in bitcoind ? 
> 
> 
> Ian
> On Wed, Oct 3, 2012 at 1:43 PM, Jeff Garzik <jgarzik@exmulti•com>
> wrote:
>         On Wed, Oct 3, 2012 at 1:38 PM, Ian Miers <imiers1@jhu•edu>
>         wrote:
>         > Whats the best way to get performance numbers for
>         modifications to bitcoin ?
>         > Profiling it while running on testnet might work, but that
>         would take a
>         > rather long time to get data.
>         > Is there anyway to speed this up  if we only needed to
>         provide  relative
>         > performance between tests. (in a sense a fast performance
>         regression test).
>         
>         
>         You have to be specific about what you're measuring, because
>         "performance" is vague.
>         
>         You can measure many aspects of blockchain performance by
>         importing
>         blocks via -loadblock=FILE.
>         
>         Other performance measurements like "how fast does a block
>         relay
>         through the network" cannot be as easily measured.
>         
>         --
>         Jeff Garzik
>         exMULTI, Inc.
>         jgarzik@exmulti•com
> 
> 
> ------------------------------------------------------------------------------
> Don't let slow site performance ruin your business. Deploy New Relic APM
> Deploy New Relic app performance management and know exactly
> what is happening inside your Ruby, Python, PHP, Java, and .NET app
> Try New Relic at no cost today and get our sweet Data Nerd shirt too!
> http://p.sf.net/sfu/newrelic-dev2dev
> _______________________________________________ Bitcoin-development mailing list Bitcoin-development@lists•sourceforge.net https://lists.sourceforge.net/lists/listinfo/bitcoin-development





^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Bitcoin-development] performance testing for bitcoin
  2012-10-04  9:55         ` Joel Joonatan Kaartinen
@ 2012-10-04 16:31           ` Ian Miers
  0 siblings, 0 replies; 5+ messages in thread
From: Ian Miers @ 2012-10-04 16:31 UTC (permalink / raw)
  To: Joel Joonatan Kaartinen; +Cc: bitcoin-development

[-- Attachment #1: Type: text/plain, Size: 2887 bytes --]

Agreed, you need to consider DoS attacks.  I have that in my mind under
security and not performance. I'd imagine the test methodology would be
completely different since you no longer are attempting to simulate real
world traffic.


Ian

On Thu, Oct 4, 2012 at 5:55 AM, Joel Joonatan Kaartinen <
joel.kaartinen@gmail•com> wrote:

> For script evaluation benchmarking, I don't think just a good
> approximation of real-world traffic is enough. You really need to
> benchmark the worst case scenarios, otherwise you could be creating a
> DoS vulnerability.
>
> - Joel
>
> ke, 2012-10-03 kello 13:57 -0400, Ian Miers kirjoitti:
> > Script evaluation performance was what I was primarily concerned
> > with.  I'm fooling around with adding some new instruction types.
> > The tricky part is that to test how that effects performance, you need
> > to be able to intersperse transactions with the new instructions with
> > existing ones.  For accuracy, you'd like your simulated traffic to at
> > least approximate the real world traffic.
> >
> >
> >
> >
> > Also, is there any bench-marking / instrumentation in bitcoind ?
> >
> >
> > Ian
> > On Wed, Oct 3, 2012 at 1:43 PM, Jeff Garzik <jgarzik@exmulti•com>
> > wrote:
> >         On Wed, Oct 3, 2012 at 1:38 PM, Ian Miers <imiers1@jhu•edu>
> >         wrote:
> >         > Whats the best way to get performance numbers for
> >         modifications to bitcoin ?
> >         > Profiling it while running on testnet might work, but that
> >         would take a
> >         > rather long time to get data.
> >         > Is there anyway to speed this up  if we only needed to
> >         provide  relative
> >         > performance between tests. (in a sense a fast performance
> >         regression test).
> >
> >
> >         You have to be specific about what you're measuring, because
> >         "performance" is vague.
> >
> >         You can measure many aspects of blockchain performance by
> >         importing
> >         blocks via -loadblock=FILE.
> >
> >         Other performance measurements like "how fast does a block
> >         relay
> >         through the network" cannot be as easily measured.
> >
> >         --
> >         Jeff Garzik
> >         exMULTI, Inc.
> >         jgarzik@exmulti•com
> >
> >
> >
> ------------------------------------------------------------------------------
> > Don't let slow site performance ruin your business. Deploy New Relic APM
> > Deploy New Relic app performance management and know exactly
> > what is happening inside your Ruby, Python, PHP, Java, and .NET app
> > Try New Relic at no cost today and get our sweet Data Nerd shirt too!
> > http://p.sf.net/sfu/newrelic-dev2dev
> > _______________________________________________ Bitcoin-development
> mailing list Bitcoin-development@lists•sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/bitcoin-development
>
>
>

[-- Attachment #2: Type: text/html, Size: 3979 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2012-10-04 16:31 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <CAEC9zAbHO9y7Go4FhZFyOCKdm1js_eKCoz7iaOCh1Wu=B9OASw@mail.gmail.com>
     [not found] ` <CAEC9zAYrMHHEyyTx1QVHoGSJU3fFypB0Hx4K-VFoUn0hp4Z7JA@mail.gmail.com>
2012-10-03 17:38   ` [Bitcoin-development] performance testing for bitcoin Ian Miers
2012-10-03 17:43     ` Jeff Garzik
2012-10-03 17:57       ` Ian Miers
2012-10-04  9:55         ` Joel Joonatan Kaartinen
2012-10-04 16:31           ` Ian Miers

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox