anselal / antminer-monitor

Cryptocurrency ASIC mining hardware monitor using a simple web interface
GNU General Public License v3.0
228 stars 145 forks source link

Need WU column #77

Open carlcbilodeau opened 6 years ago

carlcbilodeau commented 6 years ago

The two most importants columns are Temperature and WU. But WU is not there yet.

WU is the product of the Miner difficulty x number of shares per minute. Personaly when WU is between 188k and 194k for a 13.55TH to 13.7TH S9 I am satisfied. For a 14TH S9 I am satisfied when WU is 200 or more. For a 13.2TH S9 I am satisfied with 184k. Below these values I do in this order: 1 - Ping tests toward the pool with the port, 2- If all S9 are impacted I change pool or reboot my network equipments , 3 - Reboot the S9 if only one is impacted, and change the PSU if reboot does not work.

It is with WU that we know if a miner and the pool are doing good. Let say you are on viabtc.com and that the WU goes down. You probably have: internet problem, the pool is under attack, the pool has a problem and can not keep up with the demand, you latency is very bad (pool is too far away, etc).

Thanks

anselal commented 6 years ago

What does WU stand for and where did you get the formula from ?

carlcbilodeau commented 6 years ago

The "Diff" colum on the status page gives you the actual difficulty set either by you in the pasword field of the miner or set dynamically by the pool.

This difficulty number is the difficulty of the shares that your S9 will take. It is a multiple of 2. 2x2x2x2....x2. For S9 we set normaly 32768 or 16384 or 8192. In the column "Diff" you will see either 32.8k, 16.4k or 8k.

If your internet connection is bad or the latency is bad, you loose a lot of ms each times you communicate with the pool. In such a case you will set a larger difficulty since you want to reduce the communcations times. A 32.8K difficulty normaly means a miner will communicate 5 or 6 times per minutes. A 16.4k difficulty means you S9 miner will communicate 11 to 12 times per minutes.

If the difficulty is bigger, you will get more discarded because you don't go to the pool so often so you are not aware that a block has been found. A bigger share takes more times to process than a smaller one.

But if the difficulty is too small, you will spend too much times communicating with the pool and you are not hashing enough. The pool on its side is loosing time communicating with you.

The parameter UTILITY on the status page gives you the number of shares per minutes your miner is doing (Rejected + Accepted). So this is very very important.

But WU is more useful than the UTILITY parameter since it is easier to compare all your S9. Why? Imagine you have 10 S9 with a difficulty of 16.4k and 10 S9 with a difficulty fo 32.8k. No mather the difficulty, they should all have the same WU since the WU parameter is the product of the UTILITY x DIFFICULTY.

Normally the DIFFICULTY is automatically ajusted by the pool base on your internet latency, hashing power, etc.

On my S9 in the password parameter I put : d=16384,md=16384 d is the difficulty md is the minimum difficulty

Some pools accept difficulty that is not a multiple of 2. But some like btc.com don't. The best in my opinion for S9 would be 10k to 11k. It would communicate 16 times per minutes.

Why do I set the difficulty myself? Because when the S9 start, the pool does not it. So some set the difficulty to 4k and then after 20 minutes it is being raise to 16.4 or 32.8k. By setting it manually, I suggest the pool to take 16.4 as a starting value.

carlcbilodeau commented 6 years ago

BTW,

LSDiff - is the difficulty of the last share processed by your S9. LSTime - is the time since the last share has been processed.

carlcbilodeau commented 6 years ago

I forgot to say

DiffA is the difficulty of the Rejected x Number of accepted DiffR is the difficulty of the Rejected x the number of Rejected.

@anselal Almost nobody knows about all these informations. You are among the firsts to read about it. Enjoy!

carlcbilodeau commented 6 years ago

I should also say that if you mine on a small pool, you should not have a 32.8k difficulty. Why? A very big pool will find many many blocks per day. Let say this pool has 30% of the total hash power. This means that 30% of the times they will find the next block and will start hashing the next block before anybody else. In a single day your are 0.3% richer on this big pool.

So if you are on a small pool, if the difficulty is too big, you work more time on shares and blocks that will be discarded so you are adding disadvantages.

Anyway, nobody should mine on a small pool. The difficulty increase so fast that your miner has more power today than the next day. So you must optimize your luck to "one day period" and not to a "one week" period. Any pool smaller than 10% should not be considered. Yesterday the difficulty increased by another 5.23% and it will increase in 14 days again.

carlcbilodeau commented 6 years ago

Forgot to say, a difficulty of 32.8k in my opinion is for pool with more than 22% of the total Hash power or for those with a bad latency.

carlcbilodeau commented 6 years ago

To test your latency, on your S9 go on Network, "Diagnostic". In the ping field enter your pool server address like : us.stratum.viabtc.com:3333 and then you test the ping. In my opinion it should be 20 to 40ms. Do it for all S9 since one of them could have a bad wire. Do it many many times during the day. If you see sometime more than 100ms or even 1000ms then it is not good. Maybe you need to increase the UPLOAD rate. You are loosing money.

Maybe the Antminer-Monitor should do a small ping on each refresh and give the informaion on the main page. Would need a warning if the ping was bigger than 40ms in yellow. In red if over 100ms and big warning if more than 300ms.

With this feature, it would save us all many actions per day.

carlcbilodeau commented 6 years ago

Maybe we could have a "DiffA" wathcher. We could specify a minimum value for DiffA for each S9. If the DiffA is too low, then we get the warning. When DiffA is too low for all the S9 it is time to switch the pool if there is no internet problem. DiffA is directly related to the revenue the S9 will bring.

carlcbilodeau commented 6 years ago

The Antminer-monitor could show on the screen the average DiffA. We should also be able to set a minimum. A warning would then tell us to change pool if the Average DiffA is too low. In the last 12 hours, my DiffA for my S9 on pool viabtc have an average 131,231,519 while those on btc.com have an average of 133,233,536. I suspect the US server of viabtc to give me a bad ping (some 46ms) compared to btc.com (24-28ms). I will switch just now all to btc.com.

anselal commented 6 years ago

@carlcbilodeau I will need some time to read through all of that ;)

carlcbilodeau commented 6 years ago

A correction: I wrote: DiffA is the difficulty of the Rejected x Number of accepted

But it should have been: DiffA is the Difficulty of the Accepted x Number of accepted

And a precision about small pools: Some small pool do better than other small pool because they do "Spy mining". To do spy mining, the owner of the pool set a miner machine on the pool that he want to spy. When he see that this pool is mining a new block with a different nonce then he knows that they have found a block and they are already mining "on top" of it without anybody knowing it. So immediatly the small pool start to mine with this new "nonce". How can we determine if a small pool is doing spy mining to help improve its results? If this small pool sometimes find a block with no transactions or almost no transactions then we know it does spy mining. Why is it a proof of spy mining? Because if they start to mine with the new "nonce" of the competitor without having verified the transactions that were in the block that they have found you can not build a new block with transactions that could already confirmed. Conclusion: there are some good small pools but they have to do spy mining.