Erlang应用优化指南
余 锋
2009/11/07
o优化案例
Erlang应用优化案例
o Ehttpd测试
n 输出“Hello world”
n 可超过20000并发短链接
o Hotwheel 40000广播
n Google hotwheel
o 简单Key/Value查询系统
HTTP echo每秒20000短连接单个CPU
o Taskset -c 1 erl +K true +h 99999 +P
99999 -s ehttpd
o 优化前后对比
n 11203
n 20090
o 硬件普通桌面双核CPU,2G内存
o 微调Linux VM和协议栈,32位操作系统
o 优化和patch了Erlang VM,采用beam.plain
o 优化了ehttpd程序,采用系统高级网络选项
Hotwheel广播服务
o Joel悬赏$2000,挑战20K
o 成功挑战通过每CPU 40K/s
o 这个应用代表了大部分网络服务程序的模型,
对于整个业界水平的提高很有借鉴意义
简单Key/Value查询系统(身份证查询系
统?)
o 测试硬件
n 8核心
n 16G内存
o 测试结果
n 并发长链接数1000000
n 并发查询100000/s
o预备知识
优化的层次
o 选型
o 操作系统
o Erlang VM
o 语言
o 集群
o 业务