Comments (10)
Yes, this is perfectly "normal", and described in #60.
Most of the code is highly synchronous for performance reason, but it might use a process.nextTick
in a couple of places (like in the memory persistence).
PR is welcomed.
from aedes.
@mcollina It's normal that Aedes is unable to handle 10k connections? Am I doing something wrong?
Or is the MemoryPersistence unable to handle 10k connections?
from aedes.
It's normal that it crashes with RangeError: Maximum call stack size exceeded
.
It's not looping, Aedes works heavily on the stack, specially with the in-memory mq and persistence.
node --stack-size=X
solves this, where X is big enough.
wrapping the callbacks in process.nextTick
in the memory persistence will probably solve your issue.
from aedes.
I ended up going with mqtt-connection since I don't need any kind of persistence. Seems to work well so far for me.
from aedes.
Perfect, I'm closing this now.
from aedes.
Hey, I'm facing a similar issue after 15k connections.The process becomes unresponsive for quite some time and then starts working again. I'm not sure if gc
is the culprit here as it is synchronous and takes quite a bit of time.
from aedes.
@GavinDmello with the same error? what is the memory usage? Can you produce a script to reproduce artificially?
from aedes.
The server doesn't crash in my case and memory is well under control. It's just the CPU which is cranking up to 100 % and stays there with nothing happening(no logs) and comes back to normal after some time.
from aedes.
@GavinDmello if I can reproduce, I can help fixing it. Tools like http://npm.im/0x, dtrace, perf, etc, are built to solve those kind of issues.
from aedes.
related to #88
from aedes.
Related Issues (20)
- Assigned ClientID
- Server reference
- Session expiry: we actually don't have storage support for this
- Topic alias
- Shared subscriptions
- [question] Can I get client ip& port in Server end when client connect.
- Exploring migrating from Mosca (w/MongoDB) to Aedes (also w/MongoDB). Can Aedes use the existing MongoDB data, or does it differ, requiring me to start clean? HOT 2
- [question] Connecting to AEDES with Certificates HOT 1
- Aedes handle, client not connected HOT 1
- Why is CONNACK returned before the end of on.connect HOT 2
- [question] Kotlin Android examples
- Difficult to use in ES6 module package. HOT 10
- [question] How to get client ip address in Websocket mode HOT 1
- [feat!]: change to named exports to enable monkey patching HOT 11
- [question] Parsing a packet that come from old mqtt client version HOT 5
- Can Aedes send webhooks? HOT 2
- [bug] - TypeError during aedes Module Initialization
- mqtt服务启动后无法打印内容 HOT 2
- [bug] Aedes is undefined in Typescript HOT 7
- [bug] duplicated closed clients HOT 1
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 aedes.