Giter Site home page Giter Site logo

Comments (12)

QuantumLeaper avatar QuantumLeaper commented on July 17, 2024 1

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.

procloud avatar procloud commented on July 17, 2024

what version are you running?

from coin-hive-stratum.

QuantumLeaper avatar QuantumLeaper commented on July 17, 2024

V1.4.4

from coin-hive-stratum.

procloud avatar procloud commented on July 17, 2024

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.

QuantumLeaper avatar QuantumLeaper commented on July 17, 2024

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.

procloud avatar procloud commented on July 17, 2024

try increasing the ulimit on the OS?

from coin-hive-stratum.

procloud avatar procloud commented on July 17, 2024

https://github.com/xmrig/xmrig-proxy/wiki/Ubuntu-setup

from coin-hive-stratum.

cazala avatar cazala commented on July 17, 2024

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.

cazala avatar cazala commented on July 17, 2024

fixed in v1.4.6

from coin-hive-stratum.

cazala avatar cazala commented on July 17, 2024

thank you for reporting! hopefully this will get more stable soon

from coin-hive-stratum.

QuantumLeaper avatar QuantumLeaper commented on July 17, 2024

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.

cazala avatar cazala commented on July 17, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.