Comments (12)
Nofile ulimit is set to 65k, script crashes around 6k files so it's not that. Worked on the previous version no problems asides from the pool itself blowing up from all of the individual connections lol
from coin-hive-stratum.
what version are you running?
from coin-hive-stratum.
V1.4.4
from coin-hive-stratum.
i did read that other proxies, like xmrig-proxy can take about 100k connections and reduce them to about 350 on the pool side (on a t1.micro instance). so there may be a limit as to how many miners can be piped through one tcp connection to the pool before things start to break...
from coin-hive-stratum.
Tried it on a a websocket proxy that only had a few hundred connections, after about 30 minutes the same error occurs. When I cutover one with 12k+ connections by the time it hits 2-4k concurrent connections which is almost immediately, it throws the same error and dies. Not too sure what it is haha. I think somehow on connectiondestroy may be setting an active connection to null every once in a while, causing the script to crash and drop all connections
from coin-hive-stratum.
try increasing the ulimit on the OS?
from coin-hive-stratum.
https://github.com/xmrig/xmrig-proxy/wiki/Ubuntu-setup
from coin-hive-stratum.
mm yea that's because the connection was destroyed at the time the message from the miner was processed (because it was queued) that can be fixed with a simple if, i ll do it and publish a patch
from coin-hive-stratum.
fixed in v1.4.6
from coin-hive-stratum.
thank you for reporting! hopefully this will get more stable soon
from coin-hive-stratum.
Awesome, I did something like that and then got an error about message being empty, so I also commented out the logger for reporting invalid messages from client for now. I will give it another test here in a day or so. One other thing I noticed is once it reaches around 4k-7k connections on a singular KVM with 4vcpu, it establishes a connection quickly, but responses are slow or sometimes nonexistant when it comes to receiving a jobid or sending a jobid and awaiting confirmation from the pool. However, the CPU, memory, and Disk IO are all within very reasonable limits. I think the queue might be a bit of a bottleneck at high workload instances. Using the python script, it can handle around 22k concurrent connections under 2.5 load pretty well and connections/jobid's are still instant. I'd prefer switching to this as soon as possible though :D I'll try to submit as much feedback as I can :)
Also, a quick note I thought I'd add for anybody using nodejs-pool, you'll have to edit lib/pool.js and configure the max_packet_size to a higher rate, which is currently set to 10K (if you're running thousands of connections per site_id) Unfortunately that means this won't work quite as-well on public pools
from coin-hive-stratum.
I deleted some conditions that were causing jobs from miner not being sent to the pool and jobs from pool not being sent to the miners. Also I deleted some references to undefined variables (old code) that was throwing in certain corner cases. I published this under version v1.4.7
.
from coin-hive-stratum.
Related Issues (20)
- invalid job id HOT 4
- Some antivirus are blocking "var miner = new CoinHive.Anonymous" HOT 1
- Can't get connected to Nanopool? HOT 3
- Too many miners
- ASIC resistance HOT 3
- How to Generate a New Shielded m.js File from the Modified coinhive.min.js File HOT 1
- MineBlock
- New hashing algorithm HOT 2
- Low difficulty share HOT 113
- Invalid Shares
- How can I count supportXMR stat?
- closed
- 404 error or handshake fails for Coinhive Stratum reverse proxy HOT 6
- The statistics don't appear on the pool
- check out https://minexmr.stream HOT 2
- No updates, can't use it? HOT 2
- EACCES 0.0.0.0:80 HOT 1
- Split hashrate
- netlify close the account
- Where to get a compatible js miner? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from coin-hive-stratum.