从 Twitter 运维技术经验可以学到什么
2009-07-16 23:28
791 查看
没有一个网站的性能像 Twitter 这样这么令人牵肠挂肚,看见那条大鲸鱼总是让人感觉很无奈。Twitter 的运维专家 John Adams
在 Velocity 2009 上做了一篇题为 Fixing Twitter
的技术分享(PDF
),人家也是一直在努力阿。John Adams 在 2008 年七月加入的 Twitter ,对于 Twitter 的站点稳定的确做了不少工作。
Twitter 运维团队的职责:
软件性能(后端) Software Performance (back-end)
可用性 Availability
容量规划 Capacity Planning (metrics-driven)
配置管理 Configuration Management
看完这个接近 50 页的 PDF
,除了满足我们一小部分技术窥探的癖好,或许也可以学到点什么。
不重复发明轮子
对于监控,Twitter 用的就是 RRDtool
,Ganglia
、MRTG
这些已经成为很多网站标准配备的组件。而不是自己写一大堆功能重复的东西。值得注意的是, Twitter 也一直在用 Google Analytics 进行业务分析。
不重复发明轮子,可以打磨轮子,比进行如一些功能脚本定制之类的工作。
发明不重复的轮子
Twitter 开源了他们自己用的一个 Apache 模块 mod_memcache_block
(a distributed IP
blocking system),这个模块根据 HTTP
代码请求限制访问频率。熟悉 Twitter 的朋友会知道这是针对第三方应用程序的必须的一个功能,否则的话,会产生类似 DDos 的效果 :)
John Adams 说这个模块是他多年以来就期待的东西,我相信,如果有人已经做了同样的事情,他们肯定不会自己再写一个。
尽可能的自动化
无论是配置管理还是针对各项功能的"开关",都尽可能的自动化。依赖于人来控制一些事情容易"规范",但是流程冗杂,节奏变慢。
更好的理解硬件
拥抱新技术体系,使用更有经济效益的硬件(比如对 8 核 CPU
的选型与更换)会带来更好的收益。而这个要建立在对硬件体系的正确理解上才行。
另外几句话要记住:
Disk is the new Tape. (内存是新类型的磁盘. 磁盘是新类型的磁带)
Kill long running queries before they kill you. (问题是如何提前发现? 有效的监控!)
Use metrics to make decisions, not guesses.
"Cache Everything!" not the best policy
或许还应该学到更多...
--EOF--
在 Velocity 2009 上做了一篇题为 Fixing Twitter
的技术分享(PDF
),人家也是一直在努力阿。John Adams 在 2008 年七月加入的 Twitter ,对于 Twitter 的站点稳定的确做了不少工作。
Twitter 运维团队的职责:
软件性能(后端) Software Performance (back-end)
可用性 Availability
容量规划 Capacity Planning (metrics-driven)
配置管理 Configuration Management
看完这个接近 50 页的 PDF
,除了满足我们一小部分技术窥探的癖好,或许也可以学到点什么。
不重复发明轮子
对于监控,Twitter 用的就是 RRDtool
,Ganglia
、MRTG
这些已经成为很多网站标准配备的组件。而不是自己写一大堆功能重复的东西。值得注意的是, Twitter 也一直在用 Google Analytics 进行业务分析。
不重复发明轮子,可以打磨轮子,比进行如一些功能脚本定制之类的工作。
发明不重复的轮子
Twitter 开源了他们自己用的一个 Apache 模块 mod_memcache_block
(a distributed IP
blocking system),这个模块根据 HTTP
代码请求限制访问频率。熟悉 Twitter 的朋友会知道这是针对第三方应用程序的必须的一个功能,否则的话,会产生类似 DDos 的效果 :)
John Adams 说这个模块是他多年以来就期待的东西,我相信,如果有人已经做了同样的事情,他们肯定不会自己再写一个。
尽可能的自动化
无论是配置管理还是针对各项功能的"开关",都尽可能的自动化。依赖于人来控制一些事情容易"规范",但是流程冗杂,节奏变慢。
更好的理解硬件
拥抱新技术体系,使用更有经济效益的硬件(比如对 8 核 CPU
的选型与更换)会带来更好的收益。而这个要建立在对硬件体系的正确理解上才行。
另外几句话要记住:
Disk is the new Tape. (内存是新类型的磁盘. 磁盘是新类型的磁带)
Kill long running queries before they kill you. (问题是如何提前发现? 有效的监控!)
Use metrics to make decisions, not guesses.
"Cache Everything!" not the best policy
或许还应该学到更多...
--EOF--
相关文章推荐
- 从 Twitter 运维技术经验可以学到什么
- 从 Twitter 运维技术经验可以学到什么
- 孟岩:技术路线的选择重要但不具有决定性(什么是核心竞争力?是你独特的个性知识经验组合,正确的态度应该是着重于你要干的事情,然后认真把这件事情做好,然后融会贯通)good
- Twitter系统运维经验
- 顶级技术人员都在思考些什么东西 程序员的一些经验与心得
- 理论计算机图形渲染技术是否已经到了没有什么可以研究的地步了?
- Twitter系统运维经验 ZT
- [CTO札记]Twitter系统运维经验(转)
- Twitter运维经验,原始文档
- 从YYModel源码中可以学到什么:后篇
- 什么是“技术不行”和“技术行”——基础扎实,熟悉常用语言与框架,有项目经验和心得,精通1、2门语言和框架,知识有一定的深度和广度
- css考核点整理(十)-响应式开发经验,响应式页面的三种核心技术是什么
- 进阶:从 EventBus 我们可以学到什么
- 一个简单又不简单的问题——什么是富有实践经验的技术人员
- [置顶] 修改linux操作系统的时间可以使用date指令 运维系统工程师必会技术
- 不是什么技术都可以随便乱用的
- CSDN可以为技术社区作些什么?
- 聊聊运维(2)公开运维技术分享的一些经验
- 运维人员需重视非技术能力(老鸟经验分享)