|
  

|
豆瓣最近发布新功能有些"疯狂",所以服务器也有新的部署。看到阿北同学在豆瓣广播里说:
豆瓣的第二台应用服务器终于投入了使用。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 上留言的确用户体验很糟糕(我也很烦),相信本周末能得到解决。
2005年3月6日下午,我弱弱地给中国Python用户组的邮件列表发了一封email。题目是”用python开发的网站开始公测”:
欢迎到http://douban.com使用豆瓣的读书者网络和书价比较。
豆瓣全部使用python开发。网站后台的搜索引擎基于Twisted, GUI基于Quixote. 还用到了cElementTree, MySQLdb和 PIL. 除了这些豆瓣基本是从头开发(一个人四、五个月)完成。
如果你有爱读书或爱写书评的朋友,也欢迎推荐豆瓣给他们。最好的方式是通过豆瓣的邀请功能。
谢谢!
当时我已经抓着几个朋友内部测试了几天。总算,世界上别的人知道了有豆瓣这么个网站。虽然是公“测”,按照“永远beta”的2.0原则,这就算是面世了。回想起来,这个程序员的邮件列表其实不是最好的PR渠道。但我有些私心。当时bugs还很多,做程序的应该比较理解,不会扭头就走,报告起来也说的清楚。
我觉得所有网站第一次上线的时候,开发者都会满头大汗盯着屏幕不断刷屏。我呢,一直刷到天亮。不过算上我别的几个朋友,当天也就来了五六个人。但晚上无聊的头和anuxs就写了书评。然后就有了回应。我也第一次知道,世界上有杜尚访谈录和辛丰年音乐笔记这些个书,因为这两个人看过。豆瓣,这个在脑子里憋了半年的东西,竟然有人用了,而且能对人有用! 我猜想初为人父者听到自己的孩子第一声嚎哭的时候,感受应该有相似的地方吧。
今天,一年之后,十一万形形色色的人在豆瓣上有了自己的空间和自己的圈子。他们共通的地方是对书、电影、音乐的热爱。每个月还有百多万潜水的访问者, 通过豆瓣发现他们以前不知道的东西。更重要的是,今天的豆瓣有了自己的生命,循着自己的轨迹生长。我能够做的,是寻找更多的看护人和建设者, 给这个生命更大的空间和养分。
感谢一年多来无数热爱豆瓣的人给豆瓣团队的支持。现在是热身后的稍息,我们才刚开始。
$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 |
|