发新话题
打印

[大型站点架构] 豆瓣的 Web 服务器l

豆瓣的 Web 服务器l

豆瓣的 Web 服务器
作者: Fenng | 可以转载, 转载时务必以超链接形式标明文章原始出处和作者信息及版权声明
网址: http://www.dbanotes.net/arch/douban_web_server.html

豆瓣最近发布新功能有些"疯狂",所以服务器也有新的部署。看到阿北同学在豆瓣广播里说:

豆瓣的第二台应用服务器终于投入了使用。Hongqn 忙了一晚上就完成了部署。第一台服务器支撑到 500 万动态PV/天,服务 On Demand 即时分布式部署......

500 万 PV , 还是动态 PV, 是个很惊人的数字。因为,如果都能达到一台机器支撑 500 万,那么国内稍有点规模的网站(就说动态 PV 上亿的吧),只需要 20 台 Web 服务器就够了。事实上,即使比较强调技术的网站怕也要上百台 Web 服务器的规模。

我们知道豆瓣用 Lighttpd 做 Web 服务器。 从侦测到的数据看,目前线上有两个版本。

$ curl -I http://www.douban.com
HTTP/1.1 200 OK
.....(无关内容略)
Server: lighttpd/1.4.15

另外一个版本:

$ curl -I http://www.douban.com/people/ahbei/
HTTP/1.1 200 OK
.....(无关内容略)
Server: lighttpd/1.4.18

其实豆瓣服务器还有个更为惊人的性能数字。从这个 Powered by Lighttpd 的列表来看,豆瓣在一台 Gentoo 服务器上的记录是 1200 万/天的点击量。这应该是动、静态页面混合情况下的吧。

有同事对这个数据有些好奇,问我到底豆瓣是用啥做的服务器,其实这个问题我也问过阿北,他们就是自己攒的 PC 服务器,然后把性能发挥到极致。阿北也表示过,即使现在豆瓣流量激增个十倍啥的性能也不会是问题。这也是从起始就考虑扩展性的收益吧。

这里这位老兄用 七个 Mongrels 实例(也是一台Server)跑了 55 万 PV (thanks Robin 纠正) 就蛮自豪的,所以豆瓣的一台跑了"500 万动态 PV" 的确非常惊人。

Updated 2008-1-17 0:57:09

阿北留言了。主要是上面的有的数据还是旧的:

Lighty 网站上的数字很久没有去更新了。现在豆瓣的web服务器(lighttpd)每天估计2500万 Hits, 高峰时间大约1000 req/s (这里说的是主要输出HTML/CSS/JS和小图片的一台前端。大图片有另外的web服务器)。
我在广播里说500万PV/天的是应用服务器,就是lighty和mysql之间跑python的那台。现在豆瓣大多数PV来自注册用户,每个页面都需要几到十几种类的动态数据。
现在的服务器只是单片双核的opteron。换4核的话,应该能到一台1000万PV/ 天。

友情提醒,留言很精彩,敬请查看。不过在这个 Blog 上留言的确用户体验很糟糕(我也很烦),相信本周末能得到解决。
积极!努力!低调!百折不挠!
分享才能进步!帮助他人就是在帮助自己! 共同学习探讨Linux!
  Linux= howto+man ! ^_^

TOP

2005年3月6日下午,我弱弱地给中国Python用户组的邮件列表发了一封email。题目是”用python开发的网站开始公测”:

    欢迎到http://douban.com使用豆瓣的读书者网络和书价比较。

    豆瓣全部使用python开发。网站后台的搜索引擎基于Twisted, GUI基于Quixote. 还用到了cElementTree, MySQLdb和 PIL. 除了这些豆瓣基本是从头开发(一个人四、五个月)完成。

    如果你有爱读书或爱写书评的朋友,也欢迎推荐豆瓣给他们。最好的方式是通过豆瓣的邀请功能。

    谢谢!

当时我已经抓着几个朋友内部测试了几天。总算,世界上别的人知道了有豆瓣这么个网站。虽然是公“测”,按照“永远beta”的2.0原则,这就算是面世了。回想起来,这个程序员的邮件列表其实不是最好的PR渠道。但我有些私心。当时bugs还很多,做程序的应该比较理解,不会扭头就走,报告起来也说的清楚。

我觉得所有网站第一次上线的时候,开发者都会满头大汗盯着屏幕不断刷屏。我呢,一直刷到天亮。不过算上我别的几个朋友,当天也就来了五六个人。但晚上无聊的头和anuxs就写了书评。然后就有了回应。我也第一次知道,世界上有杜尚访谈录和辛丰年音乐笔记这些个书,因为这两个人看过。豆瓣,这个在脑子里憋了半年的东西,竟然有人用了,而且能对人有用! 我猜想初为人父者听到自己的孩子第一声嚎哭的时候,感受应该有相似的地方吧。

今天,一年之后,十一万形形色色的人在豆瓣上有了自己的空间和自己的圈子。他们共通的地方是对书、电影、音乐的热爱。每个月还有百多万潜水的访问者, 通过豆瓣发现他们以前不知道的东西。更重要的是,今天的豆瓣有了自己的生命,循着自己的轨迹生长。我能够做的,是寻找更多的看护人和建设者, 给这个生命更大的空间和养分。

感谢一年多来无数热爱豆瓣的人给豆瓣团队的支持。现在是热身后的稍息,我们才刚开始。
积极!努力!低调!百折不挠!
分享才能进步!帮助他人就是在帮助自己! 共同学习探讨Linux!
  Linux= howto+man ! ^_^

TOP

$curl -I http://www.douban.com/people/ahbei/
HTTP/1.1 200 OK
Server: nginx
Date: Tue, 20 May 2008 13:42:56 GMT
Content-Type: text/html; charset=utf-8
Status: 200 OK
Content-Length: 44549
Expires: Sun, 1 Jan 2006 01:00:00 GMT
Pragma: no-cache
Cache-Control: must-revalidate, no-cache, private
Set-Cookie: bid="kfQeNwSVELM"; path=/; domain=.douban.com; expires=Thu, 01-Jan-
009 00:00:00 GMT

douban已经切换成为nginx,再次证明nginx的强劲,被国内被多个大型点采用(163,sina.......)

$curl -I blog.sina.com.cn
HTTP/1.1 200 OK
Server: nginx/0.5.35
Date: Tue, 20 May 2008 13:46:29 GMT
Content-Type: text/html
Content-Length: 451918
Last-Modified: Tue, 20 May 2008 13:34:26 GMT
Connection: keep-alive
Expires: Tue, 20 May 2008 13:46:59 GMT
Cache-Control: max-age=30
Accept-Ranges: bytes

$curl  -I news.163.com
HTTP/1.0 200 OK
Server: nginx/0.5.35
Date: Tue, 20 May 2008 13:45:31 GMT
Content-Type: text/html
Expires: Tue, 20 May 2008 13:48:51 GMT
Cache-Control: max-age=200
X-Cache: MISS from cgi-gzip.163.com
Content-Length: 246286
Vary: Accept-Encoding
X-Cache: HIT from images139.163.com
Age: 36
X-Cache: HIT from news.163.com
Connection: close

$curl -I www.6.cn
HTTP/1.0 200 OK
Server: nginx/0.6.14
Date: Tue, 20 May 2008 13:45:30 GMT
Content-Type: text/html
Expires: Tue, 20 May 2008 13:50:30 GMT
Cache-Control: max-age=300
Vary: Accept-Encoding
X-Cache: MISS from SY-W-9929-143
X-Cache-Lookup: HIT from SY-W-9929-143:80
Via: 1.0 SY-W-9929-143 (squid/3.0.STABLE1.dev)
Connection: close
积极!努力!低调!百折不挠!
分享才能进步!帮助他人就是在帮助自己! 共同学习探讨Linux!
  Linux= howto+man ! ^_^

TOP

第一次知道豆瓣
春有百花秋有月,夏有凉风冬有雪,若无闲事挂心头,便是人间好时节!

TOP

豆瓣?干嘛的啊
从名字上分辨不出来
《Linux一句话精彩问答》,经典的Linux学习手册!
《开源》,持续关注开源的免费电子杂志!
Linuxpk.com,打造中文开源第一门户!

TOP

豆瓣应该说一个书评群组类的网站也算是一个类SNS的社区,应该说是非常有名气的吧,我觉得搞程序的朋友估计都喜欢去那个社区去评书:)呵我不懂程序,不过我喜欢那里面的讨论组。关注一些集群架构方面的讨论组。

有网友是这样评价douban的"第一次看douban.com,有一种拿着“读书”杂志在手上阅读的感觉,很素雅,好像还有那么点书香气息。被中国式网站强奸得都习以为常,以为网站也就这样而且也只能这样,无疑好多人第一次看到douban.com的时候都会被他的网站的简洁所触动,都会感觉眼前一亮!"
积极!努力!低调!百折不挠!
分享才能进步!帮助他人就是在帮助自己! 共同学习探讨Linux!
  Linux= howto+man ! ^_^

TOP

发新话题