2005 3

Similar documents
A API Application Programming Interface 见 应 用 程 序 编 程 接 口 ARP Address Resolution Protocol 地 址 解 析 协 议 为 IP 地 址 到 对 应 的 硬 件 地 址 之 间 提 供 动 态 映 射 阿 里 云 内

摘 要 1. GSLB: 全 局 负 载 均 衡 2. SLB: 服 务 器 负 载 均 衡 四 层 交 换 LVS 七 层 交 换 Nginx 3. Heartbeat 实 现 HA 4. MySQL 数 据 库 集 群 5. 集 群 环 境 下 的 存 储 备 份 6. 集 群 的 监 控 及

案例分享产品文档

公 司 年 度 大 事 记 2015 年 10 月 -11 月, 公 司 完 成 股 份 制 改 造 10 月 13 日, 百 灵 有 限 临 时 股 东 会 作 出 决 议, 同 意 各 发 起 人 将 其 在 百 灵 有 限 拥 有 的 截 至 2015 年 8 月 31 日 经 审 计 的 原

最 佳 做 法 : 在 需 要 时 或 需 要 前 从 CDN 下 载 内 容, 并 使 它 们 与 Flash 代 码 和 文 件 分 离 存 盘 率 vs 响 应 速 度 当 用 户 玩 游 戏 时, 客 户 端 可 以 把 每 一 个 变 化 实 时 写 到 后 端 Web 服 务 器, 也

BYOD Http Redirect convergence Client (1) 2008R2 NLB( ) (2) NLB Unicast mode switch flooding (arp ) NLB DNS Redirect 1. Round-Robin DNS DNS IP/DNS Cli

温州市政府分散采购

turbomail方案

“邮”系方寸间—— 服务器应用方案测试报告.doc

目 录 目 录 平 台 概 述 技 术 架 构 技 术 特 点 基 于 统 一 平 台 的 多 产 品 线 支 撑 先 进 性 安 全 性 开 放 性 高 性 能 和

目 录 第 五 部 分 第 六 部 分 第 七 部 分 第 八 部 分 投 标 邀 请 投 标 人 须 知 附 表 评 标 方 法 和 评 分 细 则 项 目 需 求 和 技 术 方 案 要 求 1

untitled


Guide to Install SATA Hard Disks

untitled

标题

附件9 电梯运行安全监测管理信息平台技术规范 第11部分:系统信息安全技术规范(征求意见稿)

目錄


Microsoft Word SRS - 軟體需求規格.doc

季刊9web.indd

支付宝2011年 IT资产与费用预算

Microsoft Word htm

第1章 QBASIC语言概述

IC-900W Wireless Pan & Tilt Wireless Pan & Tilt Remote Control / Night Vision FCC ID:RUJ-LR802UWG

目 录 1. 业 务 流 程 系 统 开 发 面 临 的 挑 战 与 机 遇 业 务 流 程 管 理 新 一 代 开 源 业 务 流 程 开 发 平 台 BPMX BPMX3 是 什 么 为 什 么 要 优 先 采 用 BPMX

目 录 简 介.3 ` 体 系 结 构...4 数 据 层...5 数 据 连 接 器...6 Tableau Server 组 件...7 网 关 / 负 载 平 衡 器...8 客 户 端 :Web 浏 览 器 和 移 动 应 用 程 序...8 客 户 端 :Tableau Desktop..

F4

NTSE: Non-Transactional Storage Engine MySQL InnoDB 10 InnoDB +Memcached 5 50% / K C++

Oracle 4

IT Data-intensive application,iscsi Middl

Azure_s

<4D F736F F F696E74202D FC2B2B3F85FA44AAB49B0BBB4FABB50B977A8BEA874B2CEC2B2A4B6BB50C0B3A5CE2E707074>

目 錄 第 一 章 weberp 簡 介... 6 第 一 節 概 述... 6 第 二 節 安 全 性... 7 第 三 節 功 能... 7 一 銷 售 及 訂 單... 7 二 稅... 8 三 應 收 帳 款... 8 四 存 貨... 8 五 購 買... 9 六 應 付 帳 款... 9

epub 61-2

公开招标文件

SiteView技术白皮书

岳西职教中心

User Group SMTP

PowerPoint 演示文稿

<4D F736F F D20B8DFB5C8D1A7D0A3B1BEBFC6CEEFC1AACDF8B9A4B3CCD7A8D2B5D3A6D3C3D0CDC8CBB2C5C5E0D1F8D6B8B5BCD2E2BCFBA3A B0E6A3A92E646F6378>

untitled

XXXXXXXX

Seagate_Dashboard_UG.book

<B1B1BEA9B9E2BBB7D0C2CDF8BFC6BCBCB9C9B7DDD3D0CFDEB9ABCBBEB4B43F3F12FB6CB293>

从上面这个表格中我们可以很明显看到巨大的差异当数据全部缓存到内存中 内存大小会影响所有操作 不管是 SELECT 还是 INSERT/UPDATE/DELETE 操作 INSERT 当往一个随机排序的索引中插入数据的时候会造成随机的读/写 UPDATE/DELETE 当更改数据的时候会导致磁盘的读/

專業式報告

PowerPoint プレゼンテーション

1. 二 進 制 數 值 ( ) 2 轉 換 為 十 六 進 制 時, 其 值 為 何? (A) ( 69 ) 16 (B) ( 39 ) 16 (C) ( 7 A ) 16 (D) ( 8 A ) 在 電 腦 術 語 中 常 用 的 UPS, 其 主 要 功 能

深入理解otter

% ~ AAA

软件概述

内 容 培 训 目 标 基 础 知 识 常 用 监 控 命 令 在 实 战 中 综 合 运 用 2

Marketing_WhitePaper.PDF

untitled

<4D F736F F D D352DBED6D3F2CDF8D7E9BDA8D3EBB9DCC0EDCFEEC4BFBDCCB3CCD5FDCEC42E646F63>

校友会系统白皮书feb_08

1 Linux Linux Linux Windows NT Linux Linux UNIX Internet Linux Internet Internet Web Linux 26.3% Web Apache 60% Sendmail Internet Linux ISP/ICP

untitled

Microsoft Word 中的文档

untitled

投影片 1

378高雄市都市計畫說明書


1 o o o CPU o o o o o SQL Server 2005 o CPU o o o o o SQL Server o Microsoft SQL Server 2005

2013年度西藏自治区教育厅

實用文格式大全.doc

个 小 小 的 乡 下 人 木 匠 的 儿 子, 竟 然 有 这 么 大 的 力 量 其 实 就 是 这 点, 祂 活 出 来 的 那 种 爱, 是 世 界 上 没 有 的 祂 活 出 来 的 爱 是 世 界 上 的 人 都 需 要 的, 但 却 是 人 人 在 这 个 世 界 上 都 得 不 到

薛 秦 高 继 宁 宋 明 锁 文 洪 梁 瑞 敏 贾 跃 进 内 蒙 古 自 治 区 (3 人 ) 琪 格 其 图 米 子 良 赵 震 生 辽 宁 省 (8 人 ) 田 素 琴 白 凤 鸣 肖 瑞 崇 黄 恩 申 白 长 川 杨 世 勇 李 敬 林 王 秀 云 吉 林 省 (5 人 ) 赵 继 福

19 互 联 网 络 是 一 种 功 能 最 强 大 的 营 销 工 具, 它 所 具 备 的 一 对 一 营 销 能 力, 正 是 符 合 定 制 营 销 与 直 复 营 销 的 未 来 趋 势 20 数 字 合 同 是 通 过 计 算 机 网 络 系 统 订 立 的, 以 数 据 电 文 的 方

声 明 本 公 司 及 全 体 董 事 监 事 高 级 管 理 人 员 承 诺 不 存 在 任 何 虚 假 记 载 误 导 性 陈 述 或 重 大 遗 漏, 并 对 其 真 实 性 准 确 性 完 整 性 承 担 个 别 和 连 带 的 法 律 责 任 本 公 司 负 责 人 和 主 管 会 计 工

<4D F736F F D20312D3120D5D0B9C9CBB5C3F7CAE9A3A8C9CFBBE1B8E5A3A92E646F63>

.. 3 N

<4D F736F F D DD7A1B7BFB9ABBBFDBDF0D0C5CFA2BBAFBDA8C9E8B5BCD4F25FB1A8C5FAB8E55F2E646F6378>

<%DOC NAME%> (User Manual)

网络安全体系.ppt

考 試 日 期 :2016/04/24 教 室 名 稱 :602 電 腦 教 室 考 試 時 間 :09: 二 技 企 管 一 胡 宗 兒 中 文 輸 入 四 技 企 四 甲 林 姿 瑄 中 文 輸 入 二 技 企 管 一

项目采购需求编写模板

的 開 銷, 請 務 必 先 和 家 裡 討 論 後 再 做 決 定 二 研 修 學 校 簡 介 卡 內 基 美 隆 大 學 (Carnegie Mellon University), 位 於 賓 州 匹 茲 堡 會 選 擇 來 這 裡 交 換, 我 相 信 大 部 分 的 人 都 已 經 知 道

广西英腾教育科技股份有限公司

第一章 Linux與網路資源

Secoway SVN3000技术建议书V1

P4VM800_BIOS_CN.p65

untitled

Dell EMC Data Domain DDOS 5.5 Data Domain Data Domain Data Domain : Data Domain Boost (DDBoost) Dell EMC DDBoost Data Domain DDBoost Source De-Dup Bac

Microsoft Word - Enriched TEKLA Curriculum Guide (chi ver)

第 02 期 1 医 疗 信 息 现 状 20% EMR Electronic Medical Record HIS HIS [1-2] 张 肖 等 : 基 于 大 数 据 的 医 疗 健 康 创 新 应 用 2 大 数 据 环 境 下 医 疗 数 据 特 征 分 析 PC [3]

网康科技•互联网控制网关


untitled

PowerPoint Presentation

C3_ppt.PDF

untitled

Cisco WebEx Meetings Server 2.6 版常见问题解答

06 C H A P T E R 6-1 WWW 6-2 WWW WWW WWW

Microsoft Word htm

生命科学学院 学年度学风建设实施方案

附件三


Transcription:

Text 2009.4 hongqn@douban.com

2005 3

2.8M 1/4 20M / 500~600/sec 23 PC (1U*15/2U*8) 12 38G memcached

1U (frodo) AMD Athlon 64 1.8GHz 1G 160G SATA*2 Gentoo Linux MySQL 5 Quixote (a Python web framework) Lighttpd + SCGI (shire) Memcached (!)

Internet Lighttpd SCGI App FS MySQL Memcache Static Files

Gentoo Linux emerge mysql ebuild patch GLSA(Gentoo Linux Security Advisories)

MySQL The world s most popular open source database / ==> MyISAM ==> InnoDB Replicate for backup

Python Battery Included CPUG: http://python.cn/

Quixote REST URL Django, TurboGears, Pylons ZOPE http://www.douban.com/subject/1000001 # luz/subject/ init.py def _q_lookup(request, name): subject = get_subject(name) return lambda req: subject_ui(req, subject) # luz/subject/subject_ui.ptl def subject_ui [html] (request, subject): site_header(request) <h1>%s</h1> % subject.title site_footer(request)

Lighttpd SCGI SCGI: FastCGI Quixote 80 lighttpd SCGI localhost Quixote

Memcache MySQL libmemcache python Pyrex python 3x+ def get_subject(subject_id): subject = mc.get( s: +subject_id) if subject is None: store.farm.execute( select xxx, xxx from subject where id=%s, subject_id) subject = Subject(*store.farm.fetchone()) mc.set( s: +subject_id, subject) return subject

1.2M / IO

1U pippin meriadoc ( merry), 4G 250G SATA*3 IP DNS IP -_-b frodo (subversion, trac, etc...)

Internet Lighttpd (#$) SCGI HTTP Proxy DNS App Lighttpd (!") FS Static Files Memcache MySQL

innodb_buffer_pool_size IP

1.5M / IP

IP(BGP) (arwen) 74G 1w SATA * 3

Internet Lighttpd Data Mining SCGI write read App Replicate MySQL Master MySQL Slave Static Files Memcache

2M / IO, etc...

4G 250G SATA*3 10000 mod_rewrite URL lighttpd mod_memcache IO web

Internet App store.farm SCGI MySQL Master Lighttpd Memcache store.farmr Replicate HTTP Proxy WebDAV Web Service Lighttpd (w/ mod_memcache) Replicate Lighttpd WebDAV Spiders MySQL Slave write Static Files Memcache!"#$% MySQL Slave read Data Mining

store farmr replicate delay cache... but it works

replicate delay def get_subject(sid): sbj = mc.get( s: +sid) if sbj is None: sbj = flush_subject(sid, store.farmr) return sbj def flush_subject(sid, cursor=none): cursor = cursor or store.farm cursor.execute( select... from subject ) subject = Subject(*cursor.fetchone()) mc.set( s: +sid, subject) return subject def update_subject(subject, props): store.farm.execute( update subject... ) store.farm.connection.commit() flush_subject(subject.id, store.farm)

2.5M / / SATA

Scale Up 1U 16G 147G SCSI *2 + 500G SATA SCSI RAID-0 MySQL Slave memcached MyISAM InnoDB Sphinx

Internet Sphinx Web Service store.farm MySQL Master Lighttpd Replicate SCGI HTTP Proxy App Lighttpd (w/ mod_memcache) WebDAV Memcache store.farmr Memcache Lighttpd WebDAV Web Service Static Files MySQL Slave Spiders Memcache Memcache

5.2M / Web IO

:) 3 1U 4 32G 1T SATA * 3 otho.douban.com lotho.douban.com lighttpd 1.5 with aio support LVS Scale Up: 4G -> 8G

Internet www.douban.com otho.douban.com Lighttpd HTTP Proxy LVS LB (Master) Lighttpd 1.5 (w/ mod_cache) Lighttpd Keepalived Lighttpd WebDAV LVS LB (backup) Lighttpd 1.5 (w/ mod_cache) Static Files

write MySQL Master replicate!"#$% MySQL Slave read Data Mining Replicate write read MySQL Slave!"#$% Data Mining

6.4M / (5M PV) CPU memcache /

lighttpd mod_scgi round-robin lighttpd 1.5 mod_proxy proxy.balance = fair (load based, passive balancing) spread

Internet Lighttpd HTTP Proxy SCGI Lighttpd App Memcache HTTP Proxy Lighttpd HTTP Proxy spread Static Files Log Aggregator Lighttpd WebDAV spread Lighttpd SCGI App Memcache

11M / 3 Sphinx load

Sphinx -> Xapian MogileFS

libmemcache -> libmemcached consistent hash memcache libmemcached consistent hash bug CPU libmemcached failover bug nginx lighttpd load balance spread nginx

!" Master replicate replicate #$ Master replicate %&'()!" Slave #$ Slave read read Data Mining write!" Slave *+,- Master replicate *+,- Slave write replicate #$ Slave %&'() Data Mining

store.farm[r] -> store.get_cursor(table= xxx, ro=true/false) def flush_subject(sid, ro=false): cursor = store.get_cursor(table= subject, ro=ro) cursor.execute( select... from subject ) subject = Subject(*cursor.fetchone()) mc.set( s: +sid, subject) return subject

Internet upload.douban.com otho.douban.com signed POST form Uploader Lighttpd 1.5 (w/ mod_cache) App HTTP redirect MogileFS Tracker FileStorage Gateway MogileFS Master MogileFS Node MogileFS Node

Internet Lighttpd SCGI App Lighttpd HTTP Proxy HTTP Proxy HTTP Proxy Nginx HTTP Proxy Lighttpd SCGI App Lighttpd HTTP Proxy Static Files Lighttpd WebDAV Lighttpd SCGI App

13M / MogileFS Tracker DB

8 32G CPU (300G SCSI 2 + 1T SATA) 3 (1T SATA 3) 5 6 2 DoubanFS

DoubanFS hash hash hash Merkle Tree consistent hash WebDAV MogileFS 3 50

Consistent Hash

Merkle Tree

Internet upload.douban.com otho.douban.com signed POST form Uploader Lighttpd 1.5 (w/ mod_cache) App HTTP redirect FileStorage Gateway DoubanFS Node DoubanFS Node

16M / DoubanFS IO

DoubanDB MySQL MySQL Master failover replicate delay

DoubanDB Key-Value Amazon Dynamo set(key, value), get(key), delete(key) memcache Merkle Tree Consistent Hash TokyoCabinet DoubanDB DoubanFS 2.0 DoubanDB

!" Master1 replicate replicate #$ Master1 replicate %&'()!" Slave #$ Slave read read Data Mining write!" Master2 *+,- Master replicate *+,- Slave write replicate #$ Master2 %&'() Data Mining

DoubanFS ngnix www.douban.com LVS RabbitMQ spread

profile memcache cache join