Comments (7)
Sorry for my late reply. I was working on another project.
I think this is because of the GC which will not release memory immediately. Let me see what I can do to make it more memory efficient. I really appreciate for your report!
from uniqush-push.
@cmabastar While I'm working on the code, you may do some optimization on your side. For example, you may want to use a swap partition on your instance to store the memory page on disk.
In the meantime, I will try to optimize the memory management part to use less memory.
A quick question: Are you using wild card to send those 500K messages? Or 500K requests individually?
from uniqush-push.
Hi @monnand ,
Ok, Thanks for the tip. Nope, we are not using wild card, the last time we used wild card was around 1.4.3 version which caused it to crash heavily. Yes we are still sending them individually.
from uniqush-push.
@cmabastar No worries. Sending them individually is the correct way (I believe) considering the volume of messages you need to send. I will try my best to improve the memory management part and will keep you updated. I hope I can release a new improved version by the end of this year. Thank you so much for your report!
from uniqush-push.
@cmabastar I believe this is related to the connpool and this bug is reported an fixed in this thread. I did not uploaded a new version with this fix yet. But it is already available when you run go get -u github.com/uniqush/uniqush-push
.
from uniqush-push.
What volume are you sending at? At about 200 GCM pushes / sec distributed by 6 uniqush-push instances, the RSS is over 700MB per instance and remains pretty constant -- it only varies with volume of pushes. Subscribe / unsubscribe is very light weight since it's Redis.
nobody 10449 30.4 18.6 1425972 730892 ? Sl May29 2337:41 /usr/bin/uniqush-push
from uniqush-push.
We stopped using connpool and moved to a worker pool a while ago.
We've also fixed various GCM inefficiencies.
Please open a new issue if you are still having problems with uniqush-push 2.5.0
from uniqush-push.
Related Issues (20)
- APNs binary protocol will be disabled in November 2020 - Provide migration steps
- Add a health check for connection pools, redis being connected HOT 3
- Refuse to start up if APNs certificates cause SystemRootsError
- Plans for web push features? HOT 1
- Potential code quality issues found HOT 3
- Fix no-op Signal(os.Kill)
- Idea: Add an opt-in mode to act as a proxy without managing tokens
- Consider migrating GCM/FCM from legacy HTTP API to HTTP v1 API
- Look into token-based instead of certificate-based connections to APNs
- Add Destination pointer to all push.Error implementations, to log
- Disable APNs binary protocol and feedback checker HOT 1
- Look into supporting apns-push-type setting HOT 1
- cant receive message in android app
- Remove psps
- What about an open server-side events/REST protocol for apps on any platform?
- Document how to support new root CAs for APNs servers with uniqush
- Make FCM/APNS timeouts configurable?
- Switch to api.sandbox.push.apple.com
- what tutorials on this are complete, i cant send a push notification via fcm
- Support UnifiedPush on Android devices 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 uniqush-push.