优酷网(Youku.com)架构经验 - DBA Notes
来源:百度文库 编辑:神马文学网 时间:2024/05/01 10:59:05
优酷网(Youku.com)架构经验
作者:Fenng| 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明
网址:http://www.dbanotes.net/arch/youku_arch.html
这次QCon (北京)会议网站架构案例分析这个 Track,虽然话题不多,但课程设计时候考虑覆盖的面还是比较广的。作为视频网站代表,优酷带来了一场包含不少实战经验的技术分享。邱丹(优酷网开发副总裁,核心架构师)可能公司的事情比较忙,一直到第二天中午才赶到会场。还半开玩笑说,'怎么这么多人,还以为是小型的会议呢'...
缓存
缓存黄金原则:让数据更靠近 CPU。
CPU-->CPU 一级缓存-->二级缓存-->内存-->硬盘-->LAN-->WAN
讲到了 Youku 自己的内部项目,针对大文件缓存的。目前开源软件中,Squid 的 write() 用户进程空间有消耗,Lighttpd1.5 的 AIO(异步I/O) 读取文件到用户内存导致效率也比较低下。Youku不用内存做缓存(避免内存拷贝,避免内存锁)。值得注意的是,缓存技术容易被滥用,也有副作用,比如接到老大哥通知要把某个视频撤下来,如果在缓存里是比较麻烦的。
数据库
优酷对数据库 Sharding 做了不少尝试,而且实现效果应该不错。DB 读写分离上有比较丰富的经验。
为了提升数据库 I/O 能力,启用了 SSD。6 块 SSD 做 RAID。我在 Twitter 上发了一则 Youku 使用了 SSD的消息,很多朋友以为是用来存储视频文件,这里需要澄清一下--只是局部使用。
网络吞吐量优化
这是我强烈要求加上来的一节内容。网络优化,视频网站肯定都做得不错。这一节的关键词是 "事件(event)驱动",令人深刻的一句话是"ePoll 推动当今 Web" ,的确,现在很多比较热的 Web 组件都是以ePoll 为卖点。
延伸阅读:The C10K problem(我一直想翻译一下这个页面,苦于腾不出时间) 与Libevent如果做互联网,遇到扩展性问题,这两个信息点还是避不过去的。
最后一个例子是针对 Memcached 的 Agent 的,这一点和Facebook架构中的 Memcached 处理可以对照来看。
演讲结束的时候,有人提问优酷对视频缓存上有什么特别的地方?回答是一个大视频可能分成多个小文件,这样缓冲的时候就效果更好一点--(并行啦)...其实访问优酷的确比土豆快那么一点点。
--EOF--
作者:Fenng| 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明
网址:http://www.dbanotes.net/arch/youku_arch.html
这次QCon (北京)会议网站架构案例分析这个 Track,虽然话题不多,但课程设计时候考虑覆盖的面还是比较广的。作为视频网站代表,优酷带来了一场包含不少实战经验的技术分享。邱丹(优酷网开发副总裁,核心架构师)可能公司的事情比较忙,一直到第二天中午才赶到会场。还半开玩笑说,'怎么这么多人,还以为是小型的会议呢'...
缓存
缓存黄金原则:让数据更靠近 CPU。
CPU-->CPU 一级缓存-->二级缓存-->内存-->硬盘-->LAN-->WAN
讲到了 Youku 自己的内部项目,针对大文件缓存的。目前开源软件中,Squid 的 write() 用户进程空间有消耗,Lighttpd1.5 的 AIO(异步I/O) 读取文件到用户内存导致效率也比较低下。Youku不用内存做缓存(避免内存拷贝,避免内存锁)。值得注意的是,缓存技术容易被滥用,也有副作用,比如接到老大哥通知要把某个视频撤下来,如果在缓存里是比较麻烦的。
数据库
优酷对数据库 Sharding 做了不少尝试,而且实现效果应该不错。DB 读写分离上有比较丰富的经验。
为了提升数据库 I/O 能力,启用了 SSD。6 块 SSD 做 RAID。我在 Twitter 上发了一则 Youku 使用了 SSD的消息,很多朋友以为是用来存储视频文件,这里需要澄清一下--只是局部使用。
网络吞吐量优化
这是我强烈要求加上来的一节内容。网络优化,视频网站肯定都做得不错。这一节的关键词是 "事件(event)驱动",令人深刻的一句话是"ePoll 推动当今 Web" ,的确,现在很多比较热的 Web 组件都是以ePoll 为卖点。
延伸阅读:The C10K problem(我一直想翻译一下这个页面,苦于腾不出时间) 与Libevent如果做互联网,遇到扩展性问题,这两个信息点还是避不过去的。
最后一个例子是针对 Memcached 的 Agent 的,这一点和Facebook架构中的 Memcached 处理可以对照来看。
演讲结束的时候,有人提问优酷对视频缓存上有什么特别的地方?回答是一个大视频可能分成多个小文件,这样缓冲的时候就效果更好一点--(并行啦)...其实访问优酷的确比土豆快那么一点点。
--EOF--
优酷网(Youku.com)架构经验 - DBA Notes
YouTube 的架构扩展 - DBA notes
Amazon 的 Dynamo 架构 - DBA Notes
了解一下 Technorati 的后台数据库架构 - DBA notes
学习 Flickr 的 基于 LAMP 的容量规划经验 - DBA notes
eBay 的数据量 - DBA notes
eBay 的应用服务器规模 - DBA notes
创业者的取与舍 - DBA Notes
分享Sify.com的架构经验
DBA notes - Fenng‘s Personal Portal. About: D...
开源数据库 Sharding 技术 (Share Nothing) - DBA notes
网站运维之道 之自动化管理 - DBA notes
dba
J2EE架构和过程 - fanqiang.com
Alexandru Popescu谈InfoQ.com网站架构
English Notes
我的架构经验小结(四)-- 实战中演化的三层架构
我的架构经验小结(二)-- 关于三层架构 - zhuweisky - 博客园
天融信:可信网络架构解决方案 可信,网络,架构解决方案 [技术解决方案] IT.com.c...
浅析大型网站的架构 - 51CTO.COM
校园网网络架构建设规划及解决方案 - qqread.com
我的架构经验小结(四)-- 实战中演化的三层架构 - zhuweisky - 博客园
Oracle DBA面试题
DBA需要的技能