Comments (5)
I did ulimit -n 1024
to increase the max open files in both terminals. No errors at ~240 threads. They go up quickly once I approach and pass 256. I wonder if Faktory's one goroutine per connection maxes out on OSX at several hundred connections with no tuning. It would be interesting to dive into Linux and see its limits and what tunings might be useful. Redis might be good to dive into to see what knobs they twiddle (although being single threaded does change things a bit for them). Just some random thoughts.
from faktory.
This happens to me on Linux too (with 200), and I have the limit set to 8192 already.
from faktory.
Can you check the actual limits of your process in /proc/$PID/limits ? they might be
different from what you see in your shell.
from faktory.
They're actually even higher than my limits (presumably the Go runtime does something funky). It could of course be that the limits are set differently inside the Docker container, and that that's where the issue arises?
from faktory.
The latest Faktory appears to work fine on macOS as long as I run ulimit -n 1024
in each terminal first. I suspect the move to Redis helped reduce the number of open files.
$ go run test/load/main.go 30000 100
Running loadtest with 30000 jobs and 100 threads
Processed 30049 pushes and 30049 pops in 6.979729 seconds, rate: 4298.161438 jobs/s
$ go run test/load/main.go 30000 200
Running loadtest with 30000 jobs and 200 threads
Processed 30099 pushes and 30099 pops in 6.728305 seconds, rate: 4458.774980 jobs/s
$ go run test/load/main.go 30000 300
Running loadtest with 30000 jobs and 300 threads
Processed 30149 pushes and 30149 pops in 6.977836 seconds, rate: 4299.327217 jobs/s
$ go run test/load/main.go 30000 400
Running loadtest with 30000 jobs and 400 threads
Processed 30199 pushes and 30199 pops in 7.094742 seconds, rate: 4228.483610 jobs/s
$ go run test/load/main.go 30000 500
Running loadtest with 30000 jobs and 500 threads
Processed 30249 pushes and 30249 pops in 7.269181 seconds, rate: 4127.012486 jobs/s
from faktory.
Related Issues (20)
- Job arguments with &, <, and > are escaped when unmarshaling HOT 3
- After 30 tcp connections is getting resources limit error
- How to iterate over jobs in dead queue? HOT 7
- Debug failed jobs HOT 2
- Faktory server won't start without statsd server HOT 5
- How to get autoscaling metrics HOT 2
- Wiki documentation ent kubernetes installation HOT 11
- Duplicated scheduled jobs with multiple faktory servers HOT 13
- Not picking up CRON jobs HOT 2
- Scheduled job processed immediately HOT 1
- Batching and Uniqueness HOT 3
- Improve error validation on Redis persistence HOT 3
- if faktory work crashes job sits in `busy` until timeout and then never requeues HOT 7
- Workers not using all available threads? HOT 3
- Faktory ENT staging env doesnt seem to be set correctly by FAKTORY_ENV environment variable. HOT 5
- Convert EGO templates in webui to use stock html/template instead HOT 2
- Question: 14 day runs HOT 1
- Feature suggestion: Option to disable web UI password HOT 6
- Feature suggestion: Unwrap ActiveJob wrapped Job names in the WebUI HOT 6
- Handling server upgrades? HOT 4
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 faktory.