Author

Topic: [1500 TH] p2pool: Decentralized, DoS-resistant, Hop-Proof pool - page 551. (Read 2591920 times)

sr. member
Activity: 448
Merit: 250

Code:
def get_local_stats():
...
   lookbehind = min(node.tracker.get_height(node.best_share_var.value), 3600//node.net.SHARE_PERIOD)
...
SHARE_PERIOD=10, # seconds for BTC...

So... I would guess that it's a 10 sec resolution?

No, one hour (3600 seconds).

Yeah, that'll be pulling out the last 360 samples - at 10 seconds each for an hour in total.

Perfect! Thanks!
hero member
Activity: 516
Merit: 643
For the first time in a month of mining on p2pool, the page is saying "Payout if a block were found now: 0 BTC". This is in spite of the hashrate being shown normal and DOAs/orphans next to nonexistent. And about an hour ago it was showing a non-zero payment. I restarted the entire btc, p2pool, bfgminer ensemble but it's still showing 0. Why does this happen?

Do you have any peer connections?
...I have them right now. And my payout's back to normal. I'm not sure about before. If it happens again, I'll check.

Do you have a pretty low hash rate? If you don't get a share every 24 hours, your payout will drop to zero at times.

Wow, I didn't know that existed. That makes something I'm trying to do a lot easier.

Yep, useful. What time period are those stats over? In particular I mean the miner_hash_rates and miner_dead_hash_rates. I need them over a reasonably short period for alarming to be able to react if a miner goes away.
Code:
def get_local_stats():
...
   lookbehind = min(node.tracker.get_height(node.best_share_var.value), 3600//node.net.SHARE_PERIOD)
...
SHARE_PERIOD=10, # seconds for BTC...

So... I would guess that it's a 10 sec resolution?


No, one hour (3600 seconds).
full member
Activity: 147
Merit: 100
Do you like fire? I'm full of it.
For the first time in a month of mining on p2pool, the page is saying "Payout if a block were found now: 0 BTC". This is in spite of the hashrate being shown normal and DOAs/orphans next to nonexistent. And about an hour ago it was showing a non-zero payment. I restarted the entire btc, p2pool, bfgminer ensemble but it's still showing 0. Why does this happen?

Do you have any peer connections?
...I have them right now. And my payout's back to normal. I'm not sure about before. If it happens again, I'll check.
full member
Activity: 194
Merit: 100
Wow, I didn't know that existed. That makes something I'm trying to do a lot easier.

Yep, useful. What time period are those stats over? In particular I mean the miner_hash_rates and miner_dead_hash_rates. I need them over a reasonably short period for alarming to be able to react if a miner goes away.
Code:
def get_local_stats():
...
   lookbehind = min(node.tracker.get_height(node.best_share_var.value), 3600//node.net.SHARE_PERIOD)
...
SHARE_PERIOD=10, # seconds for BTC...

So... I would guess that it's a 10 sec resolution?
sr. member
Activity: 448
Merit: 250
For the first time in a month of mining on p2pool, the page is saying "Payout if a block were found now: 0 BTC". This is in spite of the hashrate being shown normal and DOAs/orphans next to nonexistent. And about an hour ago it was showing a non-zero payment. I restarted the entire btc, p2pool, bfgminer ensemble but it's still showing 0. Why does this happen?

Do you have any peer connections?
sr. member
Activity: 448
Merit: 250
Wow, I didn't know that existed. That makes something I'm trying to do a lot easier.

Yep, useful. What time period are those stats over? In particular I mean the miner_hash_rates and miner_dead_hash_rates. I need them over a reasonably short period for alarming to be able to react if a miner goes away.
full member
Activity: 147
Merit: 100
Do you like fire? I'm full of it.
For the first time in a month of mining on p2pool, the page is saying "Payout if a block were found now: 0 BTC". This is in spite of the hashrate being shown normal and DOAs/orphans next to nonexistent. And about an hour ago it was showing a non-zero payment. I restarted the entire btc, p2pool, bfgminer ensemble but it's still showing 0. Why does this happen?
legendary
Activity: 2912
Merit: 1060
legendary
Activity: 2576
Merit: 2267
1RichyTrEwPYjZSeAYxeiFBNnKC9UjC5k

I think http://localhost:9554/local_stats is as close as you can get. 

M

Wow, I didn't know that existed. That makes something I'm trying to do a lot easier.
legendary
Activity: 1540
Merit: 1001
Is there any way of getting the per-miner stats from p2pool as JSON or even just a raw number? I want to set up Nagios to alert me if any of my miners stop working.

Something like:
http://cryptominer.org:9332/miner/

Returning (hash rate and dead/stale):
516.12312 12.1451

Currently getting familiar with the code, so I can add this if not already in place.

I think http://localhost:9554/local_stats is as close as you can get. 

M
legendary
Activity: 3248
Merit: 1070
it seems that the latency is better now, i get 0.06ms, before was 0.290 or something

when he say" lost 8 share due to connection lost" it's equal to= i lost 8 transiction?
sr. member
Activity: 448
Merit: 250
Is there any way of getting the per-miner stats from p2pool as JSON or even just a raw number? I want to set up Nagios to alert me if any of my miners stop working.

Something like:
http://cryptominer.org:9332/miner/

Returning (hash rate and dead/stale):
516.12312 12.1451

Currently getting familiar with the code, so I can add this if not already in place.
legendary
Activity: 1540
Merit: 1001
Another example where things aren't working optimally:

I unpacked the latest git into a new folder, and fired it up.  A number of times as it was "processing xxx shares from [...]" it would take so long that when it finished, a bunch of errors would be thrown because things timed out.  I don't know Python very well at all, but it doesn't seem like p2pool is multithreaded.  I know multithreading isn't a trivial task.  Am I missing something, or is p2pool multithreaded and I'm just not seeing it?

M
sr. member
Activity: 454
Merit: 252
For what it's worth...

My node (http://ask.gxsnmp.org:9332/) has:
P2Pool - Peers   8 out, 29 in
Bitcoind:  "connections" : 51,
             "currentblocksize" : 66063,

Getwork Latency -Mean: 0.695s

And it seems to be doing fine.

Uptime: 11.257 days.

That's @ all the 'default' settings

Could it be better? Probably.. I'm just not really sure what to tweak to make it better, it seems to be working and I get payouts whenever a block is found.

you're doing fine, but your efficiency is not has high as someone with 0.003 s getwork latency.
Your expected DOA due to getblocktemplate latency: .7/10 = 7%
Someone with a 0 tx fee blocks (3ms) .003/10= 0.03%

assuming everything else equal: if your efficiency is 100%, theirs can be 107%.

They get 7% more profit than you by choosing to not process any transactions at all.

Thus Kano's argument that if the optimal p2pool setup is to process 0 tx, then p2pool (as it stands with standard bitcoind) hurts the network
legendary
Activity: 1540
Merit: 1001
Processing transactions is what mining is all about. Too many have forgotten that, believing that mining is about getting coin, and if you can throw in some transactions while you do it, why not.

But... processing the transactions is what our sole purpose as miners, actually is.

Probably be better off to keep the connection counts down to 2-4 on bitcoind, and low connections on p2pool as well, so we're sending data to less people, allowing them to be sent, faster, and let the meganodes with the bandwidth to handle it, focus on the wide redistribution.

It does no good for a node with a residential-quality upstream, to pass along block data to 50 nodes, if it takes 10 seconds to do it.

The torrent community fights about this too, and the best nodes you find that are sending to you fast, are the ones who aren't trying to keep 500 connections open, giving each peer just a few kB/s at a time, making block propagation just drag out forever, much longer than it should, with extra wasted overhead.

Block propagation suffers the same way. Less really is sometimes more.
-- Smoov

+1

I was trying to indicate bandwidth limitations earlier.  I don't have any ports forwarded at all, to p2pool or bitcoind.  I get 8 in on p2pool, and 9 in on bitcoind (atm).  I'm also running namecoind and ixcoin for merged mining, I'd imagine they have 8 each as well.  No problems at all, and my stale rate is usually lower than the pool, sometimes significantly moreso.  When I start forwarding ports, that's when things get out of control.

M
full member
Activity: 194
Merit: 100
For what it's worth...

My node (http://ask.gxsnmp.org:9332/) has:
P2Pool - Peers   8 out, 29 in
Bitcoind:  "connections" : 51,
             "currentblocksize" : 66063,

Getwork Latency -Mean: 0.695s

And it seems to be doing fine.

Uptime: 11.257 days.

That's @ all the 'default' settings

Could it be better? Probably.. I'm just not really sure what to tweak to make it better, it seems to be working and I get payouts whenever a block is found.
legendary
Activity: 4592
Merit: 1851
Linux since 1997 RedHat 4
...
he can run his pool the way he wants to.  right now, that's the best way to run a p2pool pool.

you can either a) fix p2pool so that having a bunch of transactions doesn't cause you to get double, triple, or quadruple as many orphans, b) implement a stop-gap like i proposed, or c) stfu

Of course he can.

But it also means that what is best for bitcoin is to NOT use p2pool.
The opposite of what is commonly argued.

As the thread title says: Decentralized, DoS-resistant, Hop-Proof pool

Pool mining on a pool that has a block size limit of 500k or 5k, which is better for bitcoin?

So the answer to that is ... it is better for bitcoin to NOT use p2pool since p2pool seems to require it's users to restrict transactions dramatically.

It's a very simple argument.

I function just fine w/o having to restrict transactions at all.  Must be something with his environment.

M
Good counter argument Smiley

Edit: meaning - then - that the problem is him and being detrimental to bitcoin to solve his problem and advertising others to do that is really ... not ideal at all.
hero member
Activity: 504
Merit: 500
Scattering my bits around the net since 1980
...
he can run his pool the way he wants to.  right now, that's the best way to run a p2pool pool.

you can either a) fix p2pool so that having a bunch of transactions doesn't cause you to get double, triple, or quadruple as many orphans, b) implement a stop-gap like i proposed, or c) stfu

Of course he can.

But it also means that what is best for bitcoin is to NOT use p2pool.
The opposite of what is commonly argued.

As the thread title says: Decentralized, DoS-resistant, Hop-Proof pool

Pool mining on a pool that has a block size limit of 500k or 5k, which is better for bitcoin?

So the answer to that is ... it is better for bitcoin to NOT use p2pool since p2pool seems to require it's users to restrict transactions dramatically.

It's a very simple argument.
Honestly, the orphan thing has more to do with too many connections on bitcoind than it does on p2pool...

p2pool already goes out of its way to help facilitate found blocks getting distributed as fast as possible, but there is no way you're going to be 100% orphan free with the way the bitcoin network itself operates.

Processing transactions is what mining is all about. Too many have forgotten that, believing that mining is about getting coin, and if you can throw in some transactions while you do it, why not.

But... processing the transactions is what our sole purpose as miners, actually is.

Probably be better off to keep the connection counts down to 2-4 on bitcoind, and low connections on p2pool as well, so we're sending data to less people, allowing them to be sent, faster, and let the meganodes with the bandwidth to handle it, focus on the wide redistribution.

It does no good for a node with a residential-quality upstream, to pass along block data to 50 nodes, if it takes 10 seconds to do it.

The torrent community fights about this too, and the best nodes you find that are sending to you fast, are the ones who aren't trying to keep 500 connections open, giving each peer just a few kB/s at a time, making block propagation just drag out forever, much longer than it should, with extra wasted overhead.

Block propagation suffers the same way. Less really is sometimes more.

-- Smoov
hero member
Activity: 591
Merit: 500
I function just fine w/o having to restrict transactions at all.  Must be something with his environment.

M
He seems to think there's an orphan problem. There's only been 2 orphans in the past 3 months. Roll Eyes
legendary
Activity: 1540
Merit: 1001
...
he can run his pool the way he wants to.  right now, that's the best way to run a p2pool pool.

you can either a) fix p2pool so that having a bunch of transactions doesn't cause you to get double, triple, or quadruple as many orphans, b) implement a stop-gap like i proposed, or c) stfu

Of course he can.

But it also means that what is best for bitcoin is to NOT use p2pool.
The opposite of what is commonly argued.

As the thread title says: Decentralized, DoS-resistant, Hop-Proof pool

Pool mining on a pool that has a block size limit of 500k or 5k, which is better for bitcoin?

So the answer to that is ... it is better for bitcoin to NOT use p2pool since p2pool seems to require it's users to restrict transactions dramatically.

It's a very simple argument.

I function just fine w/o having to restrict transactions at all.  Must be something with his environment.

M
Jump to: