32
youkun( 黄黄黄 ) nodejs 在在在在在在在

nodejs 在朋友 网的 实践

  • Upload
    serena

  • View
    229

  • Download
    9

Embed Size (px)

DESCRIPTION

nodejs 在朋友 网的 实践. youkun( 黄友昆 ). 选择 nodejs 的理由 nodejs 长连接 架构 nodejs 与 erlang 数据对比 nodejs 优化. 选择 nodejs 的理由. 维护成本 低. 学习成本低 工作沟通成本低 复用 seajs 模块. 选择 nodejs 的理由. 快速开发原型. 快速响应产品需求 混搭 server 快速给出解决方案 可编程的反向代理 准备就绪的异步 server. 选择 nodejs 的理由. 出众的性能. 轻松解决 C10K 并发问题 V8 变态的 JS 执行速度 - PowerPoint PPT Presentation

Citation preview

youkun( 黄友昆 )

nodejs在朋友网的实践

WWW.PENGYOU.COM

2

选择 nodejs 的理由 nodejs 长连接架构 nodejs 与 erlang 数据对比 nodejs 优化

WWW.PENGYOU.COM

3

选择 nodejs 的理由

WWW.PENGYOU.COM

4

• 维护成本低1. 学习成本低2. 工作沟通成本低3. 复用 seajs 模块

选择 nodejs 的理由

WWW.PENGYOU.COM

5

• 快速开发原型1. 快速响应产品需求2. 混搭 server 快速给出解决方案3. 可编程的反向代理4. 准备就绪的异步 server

选择 nodejs 的理由

WWW.PENGYOU.COM

6

• 出众的性能1. 轻松解决 C10K 并发问题2. V8 变态的 JS 执行速度3. 5 台 C1 设备可支持 PV 上千万的朋友网长连接业务4. 并发能力和执行速度都接近 erlang

选择 nodejs 的理由

WWW.PENGYOU.COM

7

• 大团队的顾虑虽然 nodejs 不是性能最优,但其已经满足业务的要求,对于大团队,追求性能的极致没有错,但更看重的是稳定性、维护成本和对需求变更的响应速度。

选择 nodejs 的理由

WWW.PENGYOU.COM

8

• 如果长连接是“切西瓜”,那么:Nodejs:菜刀

选择 nodejs 的理由

WWW.PENGYOU.COM

9

• 如果长连接是“切西瓜”,那么:erlang:西瓜刀

选择 nodejs 的理由

WWW.PENGYOU.COM

10

• 如果长连接是“切西瓜”,那么:C/C++:屠龙刀

选择 nodejs 的理由

WWW.PENGYOU.COM

11

• 如果长连接是“切西瓜”,那么:Java/PHP:刮胡刀

选择 nodejs 的理由 nodejs 长连接架构 nodejs 与 erlang 数据对比 nodejs 优化

WWW.PENGYOU.COM

12

nodejs 长连接架构

WWW.PENGYOU.COM

13

长连接服务的应用场景

1. 统计用户在线时长2. webim(聊天 )3. 服务端推送其它消息

nodejs 长连接架构

WWW.PENGYOU.COM

14

连接数

1. 8核 8G 可维持 13万个长连接2. 理论峰值可到 50W

WWW.PENGYOU.COM

15

nodejs架构图

WWW.PENGYOU.COM

16

nodejs架构图

WWW.PENGYOU.COM

17

nodejs架构图

WWW.PENGYOU.COM

18

nodejs架构图

WWW.PENGYOU.COM

19

nodejs架构图

WWW.PENGYOU.COM

20

nodejs架构图

选择 nodejs 的理由 nodejs 长连接架构 nodejs 与 erlang 数据对比 nodejs 优化

WWW.PENGYOU.COM

21

nodejs 与 erlang 数据对比

WWW.PENGYOU.COM

22

连接数

nodejs 与 erlang 数据对比

WWW.PENGYOU.COM

23

CPU使用率

nodejs 与 erlang 数据对比

WWW.PENGYOU.COM

24

内存开销

选择 nodejs 的理由 nodejs 长连接架构 nodejs 与 erlang 数据对比 nodejs 优化

WWW.PENGYOU.COM

25

nodejs 优化

WWW.PENGYOU.COM

26

日志过滤器

nodejs 优化

WWW.PENGYOU.COM

27

不停机快速定位现网问题

nodejs 优化

WWW.PENGYOU.COM

28

防止 nodejs假死

1. 子进程向父进程发送心跳包2. 父进程通过心跳监控子进程 ,对假死进程自动重启

nodejs 优化

WWW.PENGYOU.COM

29

C++扩展验登录态

nodejs 优化

WWW.PENGYOU.COM

30

CPU绑定

优化后

nodejs 优化

WWW.PENGYOU.COM

31

CPU绑定

优化后

Q & ATHANKS