Submit Search
Upload
高级服务器设计和实现1
•
Download as PPT, PDF
•
14 likes
•
958 views
Feng Yu
Follow
Technology
Slideshow view
Report
Share
Slideshow view
Report
Share
1 of 17
Download now
Recommended
高级服务器设计和实现3
高级服务器设计和实现3
Feng Yu
Erlang全接触
Erlang全接触
Feng Yu
Tsung 压力测试工具
Tsung 压力测试工具
Feng Yu
P2P 设计经验谈
P2P 设计经验谈
Feng Yu
高级服务器设计和实现2
高级服务器设计和实现2
Feng Yu
Oprofile linux
Oprofile linux
Feng Yu
Cap 理论与实践
Cap 理论与实践
james tong
利用新硬件提升数据库性能
利用新硬件提升数据库性能
Feng Yu
Recommended
高级服务器设计和实现3
高级服务器设计和实现3
Feng Yu
Erlang全接触
Erlang全接触
Feng Yu
Tsung 压力测试工具
Tsung 压力测试工具
Feng Yu
P2P 设计经验谈
P2P 设计经验谈
Feng Yu
高级服务器设计和实现2
高级服务器设计和实现2
Feng Yu
Oprofile linux
Oprofile linux
Feng Yu
Cap 理论与实践
Cap 理论与实践
james tong
利用新硬件提升数据库性能
利用新硬件提升数据库性能
Feng Yu
了解集群
了解集群
Feng Yu
MySQL和IO(上)
MySQL和IO(上)
Feng Yu
低成本和高性能MySQL云架构探索
低成本和高性能MySQL云架构探索
Feng Yu
mnesia脑裂问题综述
mnesia脑裂问题综述
Feng Yu
SSD在淘宝的应用实践
SSD在淘宝的应用实践
Feng Yu
Cpu高效编程技术
Cpu高效编程技术
Feng Yu
Flash存储设备在淘宝的应用实践
Flash存储设备在淘宝的应用实践
Feng Yu
MySQL和IO(下)
MySQL和IO(下)
Feng Yu
了解IO协议栈
了解IO协议栈
Feng Yu
C1000K高性能服务器构建技术
C1000K高性能服务器构建技术
Feng Yu
Systemtap
Systemtap
Feng Yu
了解IO设备
了解IO设备
Feng Yu
Erlang分布式系统的的领域语言
Erlang分布式系统的的领域语言
Feng Yu
了解网络
了解网络
Feng Yu
了解Cpu
了解Cpu
Feng Yu
Nodejs & NAE
Nodejs & NAE
q3boy
了解应用服务器
了解应用服务器
Feng Yu
Git & Sourcetree 介紹
Git & Sourcetree 介紹
Adison wu
初窥Java网络IO
初窥Java网络IO
digitalsonic
Ryu Learning Guide
Ryu Learning Guide
呈 李
Sdn 之旅 open suse_asia_summit_20151206
Sdn 之旅 open suse_asia_summit_20151206
Fei Ji Siao
該怎麼樣(認真的)部署你的 Python Web 應用程式?
該怎麼樣(認真的)部署你的 Python Web 應用程式?
Andy Dai
More Related Content
Viewers also liked
了解集群
了解集群
Feng Yu
MySQL和IO(上)
MySQL和IO(上)
Feng Yu
低成本和高性能MySQL云架构探索
低成本和高性能MySQL云架构探索
Feng Yu
mnesia脑裂问题综述
mnesia脑裂问题综述
Feng Yu
SSD在淘宝的应用实践
SSD在淘宝的应用实践
Feng Yu
Cpu高效编程技术
Cpu高效编程技术
Feng Yu
Flash存储设备在淘宝的应用实践
Flash存储设备在淘宝的应用实践
Feng Yu
MySQL和IO(下)
MySQL和IO(下)
Feng Yu
了解IO协议栈
了解IO协议栈
Feng Yu
C1000K高性能服务器构建技术
C1000K高性能服务器构建技术
Feng Yu
Systemtap
Systemtap
Feng Yu
了解IO设备
了解IO设备
Feng Yu
Erlang分布式系统的的领域语言
Erlang分布式系统的的领域语言
Feng Yu
了解网络
了解网络
Feng Yu
了解Cpu
了解Cpu
Feng Yu
Viewers also liked
(15)
了解集群
了解集群
MySQL和IO(上)
MySQL和IO(上)
低成本和高性能MySQL云架构探索
低成本和高性能MySQL云架构探索
mnesia脑裂问题综述
mnesia脑裂问题综述
SSD在淘宝的应用实践
SSD在淘宝的应用实践
Cpu高效编程技术
Cpu高效编程技术
Flash存储设备在淘宝的应用实践
Flash存储设备在淘宝的应用实践
MySQL和IO(下)
MySQL和IO(下)
了解IO协议栈
了解IO协议栈
C1000K高性能服务器构建技术
C1000K高性能服务器构建技术
Systemtap
Systemtap
了解IO设备
了解IO设备
Erlang分布式系统的的领域语言
Erlang分布式系统的的领域语言
了解网络
了解网络
了解Cpu
了解Cpu
Similar to 高级服务器设计和实现1
Nodejs & NAE
Nodejs & NAE
q3boy
了解应用服务器
了解应用服务器
Feng Yu
Git & Sourcetree 介紹
Git & Sourcetree 介紹
Adison wu
初窥Java网络IO
初窥Java网络IO
digitalsonic
Ryu Learning Guide
Ryu Learning Guide
呈 李
Sdn 之旅 open suse_asia_summit_20151206
Sdn 之旅 open suse_asia_summit_20151206
Fei Ji Siao
該怎麼樣(認真的)部署你的 Python Web 應用程式?
該怎麼樣(認真的)部署你的 Python Web 應用程式?
Andy Dai
COSCUP 2016 - LLVM 由淺入淺
COSCUP 2016 - LLVM 由淺入淺
宗凡 楊
COSCUP2016 - LLVM框架、由淺入淺
COSCUP2016 - LLVM框架、由淺入淺
hydai
SITCON 2021 想上網?大展 l3 路由魔法吧!
SITCON 2021 想上網?大展 l3 路由魔法吧!
Tsung-Yi Yu
淘宝交易平台前端重构
淘宝交易平台前端重构
Frank Xu
⼤語⾔模型 LLM 應⽤開發入⾨
⼤語⾔模型 LLM 應⽤開發入⾨
Wen-Tien Chang
构建可维护的Javascript 小米网
构建可维护的Javascript 小米网
yang alex
Appcan平台介绍
Appcan平台介绍
36Kr.com
模块一-Go语言特性.pdf
模块一-Go语言特性.pdf
czzz1
Tcfsh bootcamp day2
Tcfsh bootcamp day2
Xatierlike Lee
面向对象设计七大原则
面向对象设计七大原则
zoorz
Module 08 防火牆
Module 08 防火牆
rbk19871124
自动化漏洞利用关键技术研究(Automatic Vulnerability Exploitation Technologies)
自动化漏洞利用关键技术研究(Automatic Vulnerability Exploitation Technologies)
Jun LI
广告技术部自动化测试介绍.pdf
广告技术部自动化测试介绍.pdf
bj_qa
Similar to 高级服务器设计和实现1
(20)
Nodejs & NAE
Nodejs & NAE
了解应用服务器
了解应用服务器
Git & Sourcetree 介紹
Git & Sourcetree 介紹
初窥Java网络IO
初窥Java网络IO
Ryu Learning Guide
Ryu Learning Guide
Sdn 之旅 open suse_asia_summit_20151206
Sdn 之旅 open suse_asia_summit_20151206
該怎麼樣(認真的)部署你的 Python Web 應用程式?
該怎麼樣(認真的)部署你的 Python Web 應用程式?
COSCUP 2016 - LLVM 由淺入淺
COSCUP 2016 - LLVM 由淺入淺
COSCUP2016 - LLVM框架、由淺入淺
COSCUP2016 - LLVM框架、由淺入淺
SITCON 2021 想上網?大展 l3 路由魔法吧!
SITCON 2021 想上網?大展 l3 路由魔法吧!
淘宝交易平台前端重构
淘宝交易平台前端重构
⼤語⾔模型 LLM 應⽤開發入⾨
⼤語⾔模型 LLM 應⽤開發入⾨
构建可维护的Javascript 小米网
构建可维护的Javascript 小米网
Appcan平台介绍
Appcan平台介绍
模块一-Go语言特性.pdf
模块一-Go语言特性.pdf
Tcfsh bootcamp day2
Tcfsh bootcamp day2
面向对象设计七大原则
面向对象设计七大原则
Module 08 防火牆
Module 08 防火牆
自动化漏洞利用关键技术研究(Automatic Vulnerability Exploitation Technologies)
自动化漏洞利用关键技术研究(Automatic Vulnerability Exploitation Technologies)
广告技术部自动化测试介绍.pdf
广告技术部自动化测试介绍.pdf
More from Feng Yu
Erlang开发实践
Erlang开发实践
Feng Yu
我为什么要选择RabbitMQ
我为什么要选择RabbitMQ
Feng Yu
了解内存
了解内存
Feng Yu
Rethink db&tokudb调研测试报告
Rethink db&tokudb调研测试报告
Feng Yu
高性能集群服务器(Erlang解决方案)
高性能集群服务器(Erlang解决方案)
Feng Yu
淘宝商品库MySQL优化实践
淘宝商品库MySQL优化实践
Feng Yu
开源混合存储方案(Flashcache)
开源混合存储方案(Flashcache)
Feng Yu
Erlang low cost_clound_computing
Erlang low cost_clound_computing
Feng Yu
Go
Go
Feng Yu
Inside Erlang Vm II
Inside Erlang Vm II
Feng Yu
More from Feng Yu
(10)
Erlang开发实践
Erlang开发实践
我为什么要选择RabbitMQ
我为什么要选择RabbitMQ
了解内存
了解内存
Rethink db&tokudb调研测试报告
Rethink db&tokudb调研测试报告
高性能集群服务器(Erlang解决方案)
高性能集群服务器(Erlang解决方案)
淘宝商品库MySQL优化实践
淘宝商品库MySQL优化实践
开源混合存储方案(Flashcache)
开源混合存储方案(Flashcache)
Erlang low cost_clound_computing
Erlang low cost_clound_computing
Go
Go
Inside Erlang Vm II
Inside Erlang Vm II
高级服务器设计和实现1
1.
高级服务器设计和实现 1 —— 基础与进阶 余锋
(mryufeng@gmail.com) 2008-06-08
2.
基本套接字 API • socket •
bind • listen • accept • read/recv • write/send • close
3.
Tcp 状态变迁和 socket
API
4.
IO 模型 • 阻塞
I/O • 非阻塞 I/O • I/O 多路复用 (select and poll) • 事件驱动 I/O (SIGIO) • 异步 I/O (POSIX aio_ 函数 )
5.
IO 模型之间的区别
6.
IO 策略 • 多客户一线程,非阻塞(水平触发) o
select() o poll() o /dev/poll o kqueue
7.
IO 策略 • 多客户一线程,非阻塞(改变通知) o
epoll() o kevent o realtime signal o kqueue
8.
IO 策略 • 每服务器线程一客户 o
NGPT o NPTL o FreeBSD 线程
9.
IO 策略 • 内核中的服务器 o
TUX
10.
异步 IO • Linux
aio • 不支持网络 io • 比较难编程
11.
多线程 • 如有可能 不要尝试多线程 •
用原语高级点的库 • 想清楚了 再做 • 很难调试 做好诊断设施
12.
多线程 VS 事件派遣方式 •
多线程 模型简单 难编程 • 事件派遣 性能高
13.
C10K Problem • C10K
是很难跨越的 • 上了一个台阶
14.
制约性能的杀手 • 数据拷贝 • 上下文切换 •
内存分配 • 锁竞争
15.
其他制约性能因素 • 存储子系统 • 协议参数 o
TCP_CORK/MSG_PUSH/Neagle • 缓存情况 o readv/writev 可用否 ? • 系统页大小( page size ) • 系统调用代价
16.
可供学习的优秀代码 • Lighty • Nginx •
Mysql-proxy • Haproxy • Shttpd
17.
Q & A
Download now