EMQX企业版
来源:emqx
浏览 638
扫码
分享
2020-12-27 16:53:18
Erlang 设计相关
- 使用 Pool, Pool, Pool… 推荐 GProc 库: https://github.com/uwiger/gproc (opens new window)
- 异步,异步,异步消息…连接层到路由层异步消息,同步请求用于负载保护
- 避免进程 Mailbox 累积消息
- 消息流经的 Socket 连接、会话进程必须 Hibernate,主动回收 binary 句柄
- 多使用 Binary 数据,避免进程间内存复制
- 使用 ETS, ETS, ETS… Message Passing vs. ETS
- 避免 ETS 表非键值字段 select, match
- 避免大量数据 ETS 读写, 每次 ETS 读写会复制内存,可使用 lookup_element, update_counter
- 适当开启 ETS 表 {write_concurrency, true}
- 保护 Mnesia 数据库事务,尽量减少事务数量,避免事务过载(overload)
- 避免对 Mnesia 数据表非索引、或非键值字段 match, select
当前内容版权归
emqx 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问
emqx .