核心系统数据库组 余锋http://yufeng.info @淘宝褚霸 2012-08-15 了解应用服务器 核心系统数据库组 余锋http://yufeng.info @淘宝褚霸 2012-08-15.

Slides:



Advertisements
Similar presentations
定 格 入 格 破 格 —— 新诗仿写复习训练 仿照下列句子,再把 “ 人生 ” 比喻成 “ 大海 ”“ 天空 ” , 造两个句子。 如果说人生是一首优美的乐曲,那么痛苦则 是其中一个不可或缺的音符。 参考答案: 1 、如果说人生是一望无际的大海,那么挫折则 是其中一个骤然翻起的浪花。 2 、如果说人生是一片湛蓝的天空,那么失意则.
Advertisements

所谓的曾经, 就是幸福 AEM 周末分享 第 58 期 AEM WEEKEND SHARING. 中午我站在学校大门口当交通导护,帮助一年级的小朋友放学。 卓新勇的母亲,悄手悄脚提着一个便当在校门口。被我一喊,她露出不 好意思的表情。 “ 老师啊! ……” “ 哎呀!我不是跟你讲了吗?学校不喜欢家长替孩子送便当。
《微型计算机技术 及应用》 ( 第 4 版) —— 戴梅萼 史嘉权. 目标 深刻理解 牢固掌握 灵活应用.
第 3 章操作系统基础 3.1 操作系统概述 3.2 操作系统的功能模块 3.3 典型操作系统概述.
大學甄選入學 個人申請面試技巧 黃仁竑 教授 中正大學資工系. 大綱 面試目的 面試流程 面試技巧 ( 注意事項 ) 結語.
------课题(一) :PLC控制系统设计
软件知识产权态势分析.
產業轉型: 我們的教育是助力或阻力? 國立中正大學行銷管理研究所 曾光華副教授.
第一節 創傷的定義與種類 第二節 出血與止血 第三節 一般創傷的急救原則與處理 第四節 特殊損傷與處理
專利課程 專利資料庫.
《高级会计实务》 第一章 外币业务 2010年3月 周宇霞.
行政院主計處第一局 簡任編審 徐守國 中華民國98年9月4日
顶岗实习报告答辩 河南机电高等专科学校 答辩人:机电工程系 机电101班 张武伟 顶岗实习时间: ~
我國專利法修正草案 之醫藥議題 經濟部智慧財產局 王局長美花 2011年6月.
道家生活美學 自然之美 指導老師:康雲山.
9 消費者人格、 自我概念與 生活型態 消費者行為:洞察生活、掌握行銷2/e 曾光華著 前程文化出版.
AEM WEEKEND SHARING AEM周末分享 第 208期 流行观点是毒药.
谷歌招聘的五项标准 AEM WEEKEND SHARING AEM周末分享 第179 期 谷歌招聘的五项标准.
AEM 周末分享 第12期 感谢月亮却忘记了太阳 AEM WEEKEND SHARING.
CPU 一、基本知识 二、常见品牌 三、评价指标 四、AMD VS Intel 五、单核与双核 六、多核
你和老板有多远? 人在职场混,难免不挨刀, 《管理长歌行》告诉你一些职场“不挨刀”秘籍
50年代 吳瀛濤 都市 這是衣服多彩的油畫 一曲豪華的樂章 且是現代產業的基地 今日文化的中心 甚至是罪惡的窩巢 冒險的樂園
计算机组成原理 北京理工大学计算机科学工程系 赵清杰 北京理工大学计算机科学工程系.
第二章 项目一:企业厂区与车间平面设计 1.
AEM周末分享 第 161 期 商战无间道 AEM WEEKEND SHARING.
操作系统 Operating System.
一些致命的 人生问题 EasyFinance Weekend Sharing.
第十八章 起诉 本章主要内容: 一、起诉的概念和意义 二、提起公诉的程序 三、提起自诉的程序.
營建自動化 -營建管理資訊化 授課老師:劉俊杰 副教授 中華民國89年9月27日.
第8章 机床操作 主讲:臧红彬 博士.
圣诞节习俗 AEM 周末分享 第8期 AEM WEEKEND SHARING.
桃園縣幸福國中101學年度 英語領域訪視 報告人:英語科召集人 簡佑潔.
心 肌 梗 死.
“服务器服务于Internet”报告会 倪光南 1999年7月6日
Chapter 13 輸入/輸出系統 (I/O Systems)
第一章 引论 1.1操作系统的概念 计算机系统: 计算机硬件 计算机软件 计算机硬件:运算器、控制器、存储器、输入设备和 输出设备
寫 作 教 學 6 電腦與我 時代改變,科技進步,電腦成為日常生活不可或缺的設備。我是二十一世紀的E世代少年,一隻滑鼠在手,樂趣無窮。
AEM周末分享 第89 期 天赋与选择 AEM WEEKEND SHARING.
主板整体维修思路 1、加电保护 现象:触发上电,风扇 转一下就停,同时能听见电源发出‘滋啦’一声异 响,再次触发,不上电。
C H A P T E R 11 体系结构对操作系统的支持.
數位邏輯的基礎.
作 業 系 統 第三組 楊育翰 顏瑞霖.
余锋 高级服务器设计和实现 ——技巧 余锋
作業系統 第八章 記憶體管理.
信息存储与管理 国家天文台 (科技处)信息与计算中心.
步进电机控制技术综合实验.
第8章 記憶體管理的概念.
第二章 電腦硬體知識 2-1 電腦的組成與架構 2-2 處理器 2-3 記憶體 2-4 輸入與輸出裝置 2-5 電腦的操作與保養.
S 数控机床故障诊断与维修.
如何赢一个机械键盘
7.1.1 设备管理的功能(P95) 分配设备:按设备的不同类型和操作系统选用的算法分配。包括分配相应的通道、设备控制器以及对未分配到的任务或怍业进行排队等; 控制和实现真正的输入输出操作。包括通道程序控制、启动设备、及时响应及处理中断讯号等; 对输入输出缓冲区进行管理。例如逻辑名的管理,多个缓冲区的分时以及串并行操作,同类多个外部设备的均衡工作,避免“忙的忙”和“闲的闲”;
電腦 報告.
作業系統 第三章 作業系統結構.
作業系統 第九章 虛擬記憶體.
第一章.
中国科学技术大学计算机系 陈香兰 Fall 2013 第三讲 线程 中国科学技术大学计算机系 陈香兰 Fall 2013.
作業系統 第四章 行程.
微机原理与接口技术 ——第三章 80x86微处理器 西安邮电大学 计算机学院 范琳.
高级操作系统 Advanced Operating System
基础篇 微型计算机系统 硬件系统 软件系统 操作系统基础 作业 计算机编码和数制 系统综述.
第七章  事业单位支出的核算      §第一节  支出概述     §第二节  拨出款项     §第三节  各项支出     §第四节  成本费用.
第3章 PLC的结构特点及技术性能 3.1 可编程控制器的结构特点 3.2 FX2N系列PLC的主要技术性能.
作業系統 第十四章 輸出輸入系統.
本节内容 脚本环境搭建.
李元金 计算机与信息工程学院 第 14 讲 存储器管理(3) 李元金 计算机与信息工程学院 1/
第一章 操作系统引论 1.1 操作系统的目标和作用 1.2 操作系统的发展过程 1.3 操作系统的基本特性 1.4 操作系统的主要功能
进程调度算法和作业调度算法。 (1) 先来先服务(FCFS)调度算法
第1章 单片机及其开发环境 教学内容 初识单片机 单片机应用系统 Keil µVision软件的使用.
李元金 计算机与信息工程学院 第 17 讲 设备管理(1) 李元金 计算机与信息工程学院 1/
县级支中心 乡镇基层服务点的建设 朱 庆 华.
Presentation transcript:

核心系统数据库组 余锋http://yufeng.info @淘宝褚霸 2012-08-15 了解应用服务器 核心系统数据库组 余锋http://yufeng.info @淘宝褚霸 2012-08-15

C10K问题 http://www.kegel.com/c10k.html 提出时间是2001年,10年过去了 挑战还在: http://www.kegel.com/c10k.html  提出时间是2001年,10年过去了 挑战还在:  用户对服务响应时间和可靠性要求越来越高。  没有革命性的技术改进,算法和操作系统和库变化不大。 硬件,操作系统,库,平台,应用的层次越来越深。 

应用服务器关键 度量 平衡 设计 简单 主流 开发 稳定 调整 运维

硬件的选择 切合业务的需求 系统平衡 可靠性 性价比

平台的选择 白盒子还是黑盒子 最大程度的挖掘硬件与系统的潜力 应用系统最大的框 平台的生命力

并行化 理论依据 新硬件趋向并行化 软件需要提高并行度 解决 CPU计算力过剩 适应NUMA架构下大内存 设备IO能力过剩 多实例还是虚拟化

进程模型的选择 单线程多进程 单进程多线程 极大避免进程上下文切换的影响 编程模型复杂 编程模型简单 如有可能不要尝试多线程,实在不行用原语高级点的库 很难调试 做好诊断设施

通讯模型的选择 Don't communicate by sharing memory share memory by communicating 进程间通信(IPC)

IO模型的选择 阻塞I/O 非阻塞I/O I/O多路复用 事件驱动 I/O (SIGIO) 异步I/O (POSIX aio_函数和native aio)

IO模型的差别

语言的选择 语言成熟度 开发人员成本 社区经验 涉及面广 习惯 性能 库 运行期 维护期

业务逻辑 整个业务就是一个大的状态变迁图 一个外部对象对于一组状态机 状态的变化是消息引起的 消息是可以跟踪的

库的选择 语言的延伸 简单够用,业界主流时间验证过 抵制重复造轮子 一次做一件事,做深做透

协议选择 业界主流,方便对接 文本协议 二进制协议 基于规则自动解析 手动解析

基础数据结构的选择 简单就是美 压缩数据集,避免数据搬动 除非必要不要用非常复杂的数据结构 数组、 链表解决大部分事情 数组方便利用硬件cache 不需要为未来的东西付出代价

可扩展设计 方便业务扩展 方便团队参与 接口要足够简单 可以考虑用脚本 形成生态系统

可配置 适应经常性的变化和个性化需求 Unix .conf或者.ini格式 可以用类似Lua等高级语言来描述

稳定性 稳定压倒一切 资源预分配 不可以发生泄漏,堆积 不可使用过多资源 避免频繁的分配/释放内存(内存碎片)

制约性能的杀手 数据拷贝 上下文切换 内存分配 锁竞争 昂贵的系统调用 4K数据拷贝的开销1us 考虑到缓存践踏,开销20-30us 不可再生资源,倒腾代价巨大 锁竞争 最快的锁也要0.1us 昂贵的系统调用

性能可微调 提供简单的接口动态改变服务器关键数据 自动根据系统的资源情况来决定默认值 有统计模块做微调依据

移植性 平台移植 硬件移植 最小化特性 ANSI C代码,最大可移植性

工程实践的考虑 严谨的错误处理 为易诊断而编码 完善的日志系统 健康监控

总结 充分利用软硬件特性 简单就是美 不造轮子 开放融入主流社区 稳定压倒一切 为运维而准备

提问时间 谢谢大家!