2019独角兽企业重金招聘Python工程师标准>>>

安装nodejs的apn

<!-- lang: shell -->
npm install apn

默认安装到了用户目录,要让本机程序找到require的头文件需要设置环境变量

<!-- lang: shell -->
NODE_PATH=C:\Users\xxx\node_modules

性能测试

对同一个token,相同消息,循环调用函数

<!-- lang: js -->
service.pushNotification(note, tokens);

10000次所消耗时间为100ms左右。 当然了,nodejs的必杀技就是异步的嘛,所以发送速度很快。 最大连接数分别设为1、10、100。以开始发送起,到最后一次触发发送成功回调函数位置。所消耗的时间分别为:15s、12.4s、9s。后来反复测试发现基本都在10s到17s之间波动。而且与最大连接数无关。可见apn的性能大约在600-1100qps。 当最大连接数设置为100时,通过

<!-- lang: shell -->
netstat -ano | find "2195"

发现其连接数只有1。参数“maxConnections”根本没有起作用。 查看源代码文件connection.js 在函数 Connection.prototype.serviceBuffer = function() 中:

<!-- lang: js -->
//从sockets数组取一个socket
if (socket !== null)
...// 发送消息
else if (!this.initialisingConnection() && this.sockets.length < this.options.maxConnections)this.createConnection(); // 创建新连接

只有当没有有效的socket可用时才会创建新的连接。测试中只对一个token循环发送,可能使得socket根本就不忙。这一个连接的socket一直都有效,所以就没有建立其他的连接。可以在高并发、同一个信息发送多个token再测试一下。

转载于:https://my.oschina.net/u/1864567/blog/292554

苹果推送nodejs+apn相关推荐

  1. 苹果推送通知服务(APNs)编程(转)详细步骤

    iPhone 对于应用程序在后台运行有诸多限制(除非你越狱).因此,当用户切换到其他程序后,原先的程序无法保持运行状态.对于那些需要保持持续连接状态的应用程序(比如社区网络应用),将不能收到实时的信息 ...

  2. 苹果推送消息服务(转)

    苹果推送消息服务 .NET 开源项目:https://github.com/Redth/APNS-Sharp Push的原理: Push 的工作机制可以简单的概括为下图 图中,Provider是指某个 ...

  3. 苹果推送iOS13.1.3更新:iOS13发布仅一个月疯狂补Bug

    10月16日,苹果推送了iOS 13.1 .3系统升级,主要包括针对iPad和iPhone的错误修复和改进,而这也是iOS 13发布仅一个月以来推送的第四个升级补丁. 具体改进如下: 解决了使用Gam ...

  4. 余承东硬刚 iPhone11;苹果推送正式版 iOS 13;php-nsq 3.4.3 线上稳定版发布 | 极客头条...

    快来收听极客头条音频版吧,智能播报由标贝科技提供技术支持. 「CSDN 极客头条」,是从 CSDN 网站延伸至官方微信公众号的特别栏目,专注于一天业界事报道.风里雨里,我们将每天为朋友们,播报最新鲜有 ...

  5. 苹果推送通知办事教程 Apple Pushnb

    原文地址:(转)苹果推送通知办事教程 Apple Push Notification Services Tutorial 作者:浪友dans 苹果推送通知办事教程 Apple Push Notific ...

  6. 余承东硬刚iPhone11;苹果推送正式版iOS 13;Facebook总部发生员工跳楼自杀事件 | EA周报...

    EA周报 2019年9月20日 每周星期五7分钟,元宝带你喝一杯IT人的浓缩咖啡,了解天下事.掌握IT核心技术. 热点大事件 苹果推送正式版iOS 13,iOS 13.1发布日期提前至9月24日 9月 ...

  7. 小米华为苹果推送相关Nginx转发推送配置

    小米华为苹果推送相关Nginx转发推送配置## 标题 1.1推送类型及涉及的推送url 目前涉及到的推送类型包括: 1).APNS苹果推送 2).华为厂商推送 3).小米厂商推送 4).魅族厂商推送 ...

  8. Apple Push Notification Service(苹果推送服务)

    https://developer.apple.com/library/IOS/documentation/NetworkingInternet/Conceptual/RemoteNotificati ...

  9. 苹果屏蔽更新描述文件_苹果推送 iOS 13 首个公测版更新 | 附描述文件获取方法...

    苹果今天凌晨向所有用户推送了 iOS 13/iPadOS 13 首个公测版本,该版本原计划于 7 月推出.目前使用体验来看,iOS 13 首个公测版与内测 Beta 2 完全一样,还是有很多问题会影响 ...

最新文章

  1. 解决Ubuntu中无法连接wifi的方法
  2. 鸟哥的Linux私房菜(基础篇)- 附录 B: EXT2 / EXT3 文件系统
  3. 新纳米结构能加快电子设备运行
  4. boost::fusion::none用法的测试程序
  5. Javascript设计模式理论与实战:适配器模式
  6. powershell 查看系统设备\device status
  7. ubuntu apache配置负载均衡篇(二)
  8. multisim连接MySQL_首次使用Multisim软件进行电路仿真设计
  9. hive实战读书笔记(第4章)hive表DDL
  10. OpenGL基础17:颜色
  11. 软件方法上竞赛自测题答案
  12. POJ 2387 Dijkstra
  13. hive从入门到放弃(一)——初识hive
  14. 计算机桌面文件删除不掉是怎么了,小马教你桌面上文件夹删不掉 【设置方法】 的办法_...
  15. python终端命令行输入一条语句后出现三个点是什么?
  16. 应对微软黑屏的解决办法
  17. vue实现列表无缝滚动
  18. 设计模式7-适配器模式
  19. 一条Fofa搜索语法,实现批量挖洞
  20. 关于职业规划,尤其值得我们程序员学习

热门文章

  1. 2020如何成就更好的自己?
  2. Win11创建文件夹快捷键
  3. stat命令查看jvm的GC状况
  4. S_ISDIR()函数
  5. 【高级篇 / ZTNA】(7.0) ❀ 04. FortiClient 下载与安装 ❀ FortiGate 防火墙
  6. Mac网络(Thunderbolt/Wi-Fi)频繁掉线
  7. 重庆城市交通规划数字化应用场景
  8. QTP如何打开浏览器,并进入网站,关闭浏览器
  9. 提升从改变开始...
  10. 课程设计I《飞机订票系统 》