Pages:
Author

Topic: New stratum/getwork proxy with Web-based GUI and pools management - page 22. (Read 120906 times)

full member
Activity: 217
Merit: 100
You need java on the server to run the proxy (the whole proxy, including the API server which is used by the client).

The web-client is available through your prefered browser on http://proxyIp:8888 (by default). The browser only need Javascript to be enabled. (No need for java on the client side)
sr. member
Activity: 279
Merit: 250
Do i need to install java in the server to use the web-based client?
full member
Activity: 224
Merit: 100
A Blockchain Mobile Operator With Token Rewards
i think that 73-78Mb(with "32" ) is the minimum amount to have everything fine with decent cpu usage, i tried "16" and the amount of ram was 58Mb but i had sporadic spikes in cpu usage.
i disabled getwork, i'll check how it goes, thanks.
full member
Activity: 217
Merit: 100
Thanks!
That explain really good what i was missing about the round duration  Wink
And for the ram usage, i was starting with -Xmx100m, after your words i'm trying with -Xmx64m and -Xms64m(as u said 32 seems to be good to stay near 72Mb of ram usage, with no impact in cpu usage) see if i can mitigate a bit.
For ram reduction, does the parameter "hashrateDatabaseHistoryDepth" affect the ram usage by any means? I set it from 7 to 1 hoping it can save cpu and/or ram  Tongue

p.s. i sent you a little donation for a couple of beers  Grin , thanks for the software and for the support!

Thank you for the donation  Smiley

The hashrateDatabaseHistoryDepth will not impact memory consumption since the records are stored on-disk. To lower the memory cunsomption, you could try to disable the getwork protocol if you do not need it:
"disableGetwork" : true,

And lower a bit the Xmx value
full member
Activity: 224
Merit: 100
A Blockchain Mobile Operator With Token Rewards
Thanks!
That explain really good what i was missing about the round duration  Wink
And for the ram usage, i was starting with -Xmx100m, after your words i'm trying with -Xmx64m and -Xms64m(as u said 32 seems to be good to stay near 72Mb of ram usage, with no impact in cpu usage) see if i can mitigate a bit.
For ram reduction, does the parameter "hashrateDatabaseHistoryDepth" affect the ram usage by any means? I set it from 7 to 1 hoping it can save cpu and/or ram  Tongue

p.s. i sent you a little donation for a couple of beers  Grin , thanks for the software and for the support!
full member
Activity: 217
Merit: 100
Hello, is there a way to optimize the ram usage?
I made it run on rasp pi(using the precompiled .zip) and i noticed that it starts with 10.1% of ram usage and then it slowly grow up to 18.8%(84148Kb) up to now( after near 10 hours ).
The proxy is set to only show error log.
It would be nice if it can be optimized for devices like rasp pi(not so ram equipped).

Another thing is "weightedRoundRobinRoundDuration", i set it to "5" but it's not really mining 5 minutes then switch to other pool, but it switch much early, like 1 minute or so. Or could be i'm wrong with what that "5" means lol.
My config is:
Code:
"poolConnectionRetryDelay" : 5,
  "poolReconnectStabilityPeriod" : 5,
  "poolNoNotifyTimeout" : 240,
  "rejectReconnectOnDifferentHost" : false,
  "poolHashrateSamplingPeriod" : 600,
  "userHashrateSamplingPeriod" : 600,
  "connectionHashrateSamplingPeriod" : 600,
  "isScrypt" : true,
  "databaseDirectory": "",
  "hashrateDatabaseSamplingPeriod": 60,
  "hashrateDatabaseHistoryDepth": 7,
  "noMidstate": false,
  "apiLogLevel": "INFO",
  "validateSha26GetworkShares": true,
  "poolSwitchingStrategy": "weightedRoundRobin",
  "weightedRoundRobinRoundDuration": 5,

and every pool has "weight" : 1 . The pool is the same, just with 4 different accounts and it's a scrypt pool( doge ).
It's not that problem, mining seems to works good anyway, just to talk if the round of "X minutes" is really as expected.
Thanks for the proxy!  Wink

For the memory consumption, you can try to add the following parameters on your command line:
-Xms:32M -Xmx:32M

These parameters tells the JVM to only allocate 32 MB of memory for the Heap (by the real memory consumption can be greater since the JVM itself need memory). With this parameters, you should see a lower memory footprint of the proxy, but you will surely see a higher CPU consumption. You can try to tweak the value (always the same value for both parameters). If you get a OutOfMemoryError at some point, the parameters is to low. (With only 2 miners, I have succeeded to run the proxy with 16M for several hours).


For the WeightedRoundRobin, the round duration is the value of a total round. For example, if the round duration is 5 minute and you have 5 pools with weight 1, each pool will mine for 1 minute before switching (at the end of the round, all counters are reset).
You can calcul the pool mining duration with the following formula (when no pool is down):

poolMiningDuration = poolWeight * (roundDuration / sumOfWeights)

full member
Activity: 217
Merit: 100
Can someone please post a working config file for nicehash sha-256 config please, I would like to point several S3 Antminers to my box thats running this program and then point the box at nicehash.. Any help would be much appreciated.

This basic configuration file should work (just replace the "user" value with your BTC address) :

Code:
{
  "pools" : [ {
    "name" : "Nicehash SHA-256",
    "host" : "stratum.nicehash.com:3334",
    "user" : "19wv8FQKv3NkwTdzBCQn1AGsb9ghqBPWXi",
    "password" : "d=2048",
    "enableExtranonceSubscribe" : true,
  }  ]
}

This configuration file is the minimal configuration with default values for all other parameters.

If you want to use Stratum, just point your miner to stratum+tcp://proxyIp:3333. Else, to use Getwork, point your miner to http://proxyIp:8332. The username and password configured in your miner can be anything.

full member
Activity: 217
Merit: 100
What are this lines and how can i optimize them?

  "poolHashrateSamplingPeriod" : 600,
  "userHashrateSamplingPeriod" : 600,
  "connectionHashrateSamplingPeriod" : 600,
  "hashrateDatabaseSamplingPeriod": 60,
  "hashrateDatabaseHistoryDepth": 7,


  "poolHashrateSamplingPeriod" : 600,
  "userHashrateSamplingPeriod" : 600,
  "connectionHashrateSamplingPeriod" : 600,

These lines control the time of share capture to estimate the pools, users and connections hashrate. The default value (600 seconds) keep all shares for 10 minutes and estimate the hashrate based on these shares.

  "hashrateDatabaseSamplingPeriod": 60,

This line control the time between hashrate estimation snapshots. With the default value (60 seconds), the hashrate of pools, users and connections are saved in database each minute. (on the hashrate charts, you will have a sample every minutes)

  "hashrateDatabaseHistoryDepth": 7,

This line control the history depth of the hashrate data kept in database. With the default value (7 days), all data that are older than 7 days will be discarded.
full member
Activity: 224
Merit: 100
A Blockchain Mobile Operator With Token Rewards
Hello, is there a way to optimize the ram usage?
I made it run on rasp pi(using the precompiled .zip) and i noticed that it starts with 10.1% of ram usage and then it slowly grow up to 18.8%(84148Kb) up to now( after near 10 hours ).
The proxy is set to only show error log.
It would be nice if it can be optimized for devices like rasp pi(not so ram equipped).

Another thing is "weightedRoundRobinRoundDuration", i set it to "5" but it's not really mining 5 minutes then switch to other pool, but it switch much early, like 1 minute or so. Or could be i'm wrong with what that "5" means lol.
My config is:
Code:
"poolConnectionRetryDelay" : 5,
  "poolReconnectStabilityPeriod" : 5,
  "poolNoNotifyTimeout" : 240,
  "rejectReconnectOnDifferentHost" : false,
  "poolHashrateSamplingPeriod" : 600,
  "userHashrateSamplingPeriod" : 600,
  "connectionHashrateSamplingPeriod" : 600,
  "isScrypt" : true,
  "databaseDirectory": "",
  "hashrateDatabaseSamplingPeriod": 60,
  "hashrateDatabaseHistoryDepth": 7,
  "noMidstate": false,
  "apiLogLevel": "INFO",
  "validateSha26GetworkShares": true,
  "poolSwitchingStrategy": "weightedRoundRobin",
  "weightedRoundRobinRoundDuration": 5,

and every pool has "weight" : 1 . The pool is the same, just with 4 different accounts and it's a scrypt pool( doge ).
It's not that problem, mining seems to works good anyway, just to talk if the round of "X minutes" is really as expected.
Thanks for the proxy!  Wink
full member
Activity: 129
Merit: 100
Can someone please post a working config file for nicehash sha-256 config please, I would like to point several S3 Antminers to my box thats running this program and then point the box at nicehash.. Any help would be much appreciated.
hero member
Activity: 653
Merit: 500
Hi ! I have tried to point some rented miners (miningrigsrental.com) to the proxy. I wanna use this awesome software to switch them all together and to monitor locally. When i point rented miners to the proxy i see the connections under user table, but i have no hash rate . Someone has a solution or can explain me what i'm doing wrong ?
Thank everyone for help
sr. member
Activity: 241
Merit: 250
What are this lines and how can i optimize them?

  "poolHashrateSamplingPeriod" : 600,
  "userHashrateSamplingPeriod" : 600,
  "connectionHashrateSamplingPeriod" : 600,
  "hashrateDatabaseSamplingPeriod": 60,
  "hashrateDatabaseHistoryDepth": 7,
full member
Activity: 141
Merit: 100
What about set the hash speed for each account in proxy manually?
full member
Activity: 217
Merit: 100
Quote
every switch takes about 15 min to reconnect.

I do not really understand your problem. What is it taking 15 minutes to reconnect ? The proxy to a pool or your miner to the proxy ?

Load-balance in cgimner works fine since it can do a real load-balancing since it knows the real miner hashrate and it can switch pool at will. The proxy will not be able to do so with the stratum protocol. This protocol lacks of a way to switch pool without breaking the miner connection, except with the stratum extension implemented by Nicehash (the set_extranonce notification).

If your miner is compatible with this extension, the WeightedRoundRobin with a low round time (this is important) should have almost the same effect as the cgminer load-balancing. If your miner is not compatible, unfortunately, I will not be able to do something.
sr. member
Activity: 241
Merit: 250
Well the problem is that pool starts with diff 20 and Nicehash  is diff 30 minimum so every switch takes about 15 min to reconnect.

Same when i connect with my miners 30-40Mhs  and tries Round Robin it drops and takes forever to gain correct diff.

When i use load-balance in cgminer it remanins connected to all pools and never drops.
full member
Activity: 217
Merit: 100
I think we can really have a similar behavior with the WeightedRoundRobin strategy.

Could you try to lower the roundDuration of this strategy, for example with a 1 minute value (in the configuration file):
"weightedRoundRobinRoundDuration": 1,

If it works better (it should), you can try to adjust this parameter to have the best result (the pool difficulties and the number of pool can greatly modify results).

Does your miner support the set_extranonce extension ? (the Nicehash stratum extension) If so, it is fine. If not, do not set the parameter with a small value, since the miners have to be disconnected in order to switch pool (thus, it may kill your hashrate).

I hope this will work since it will be hard to implement a real loadBalance strategy (it is far easier to implement in a mining software than in a proxy) and I have not enough time to implement this strategy.
sr. member
Activity: 241
Merit: 250
Smiley
I like the way you explained it.

Maybe the already existing Weighted round robin strategy can be used with a weight of 1 for each pool. This strategy will mine in turn on each pool for the same amount of time. You will statistically have the same number of difficulty 1 shares on each pool. To lessen the variance effect, you can use a long round duration

Let me know if this could do the trick.

Maybe this will work better?

LOAD BALANCE:
This strategy sends work to all the pools on a quota basis. By default, all
pools are allocated equal quotas unless specified with --quota. This
apportioning of work is based on work handed out, not shares returned so is
independent of difficulty targets or rejected shares. While a pool is disabled
or dead, its quota is dropped until it is re-enabled. Quotas are forward
looking, so if the quota is changed on the fly, it only affects future work.
If all pools are set to zero quota or all pools with quota are dead, it will
fall back to a failover mode. See quota below for more information.

The failover-only flag has special meaning in combination with load-balance
mode and it will distribute quota back to priority pool 0 from any pools that
are unable to provide work for any reason so as to maintain quota ratios
between the rest of the pools.
sr. member
Activity: 241
Merit: 250
It didnt work so implenting balance would be perfect.


https://www.dropbox.com/s/8h7e1gof722u4f2/startum-proxy.PNG
full member
Activity: 217
Merit: 100
 Smiley
I like the way you explained it.

Maybe the already existing Weighted round robin strategy can be used with a weight of 1 for each pool. This strategy will mine in turn on each pool for the same amount of time. You will statistically have the same number of difficulty 1 shares on each pool. To lessen the variance effect, you can use a long round duration

Let me know if this could do the trick.
sr. member
Activity: 241
Merit: 250

BALANCE:
This strategy monitors the amount of difficulty 1 shares solved for each pool
and uses it to try to end up doing the same amount of work for all pools.
Pages:
Jump to: