现在的位置: 首页 > 综合 > 正文

博客系统架构对比分析

2013年03月02日 ⁄ 综合 ⁄ 共 1431字 ⁄ 字号 评论关闭
新浪博客系统架构(http://blog.sina.com.cn):
web服务器:nginx+apache
cgi:php
博客应用服务器: 猜测是c++,  memcachdb.
存储系统:mysql

发表最简单的一篇博客(内容在100字以内), 花了2.77秒。
调用接口:http://control.blog.sina.com.cn/admin/article/article_post.php

对比腾讯qq空间(http://qzone.qq.com):
qzone的博客系统架构比较独特,
web服务器:公司开发的qzhttp (c++, epoll)
cgi: fastcgi (c++)
博客应用服务器: blog content server(c++ epoll), blog title server(c++ epoll),blog counter server(c++,select + 100%内存cache) 
存储系统: 09以前是mysql, 目前是公司开发的tdb(c++)

发表一篇简单日志: 只花了172毫秒。
调用接口:http://b.qzone.qq.com/cgi-bin/blognew/blog_add
真是难以置信, 一般网站,即使相同大小的静态内容,也很少能达到这个速度。

金股网的博客系统架构(http://sns.788111.com):
web服务器:apache 2.x, 计划将静态内容转至nginx
cgi: php
应用服务器:blog server(c++,epoll,无内存cache)
存储系统:jcache + mysql
发表一篇简单日志: 花了250毫秒
调用接口:http://jwblog.788111.com/ajax/blog_add_article.php
虽然接口里面还有很多未优化的逻辑,但总的来说是可以接受的。

=====================================================
总体架构上都差不多, cgi/fast cgi + app server + cache + db
但在实现上有所不同。
可以参考的架构:
小规模博客系统: apache + cgi(php) + mysql(系统起步阶段)
中等规模:apache + cgi(php) + cpp server + mysql(系统发展阶段)
大规模系统:(apache+nginx) + cgi (php) + cpp server+cache+mysql (新浪模式)
超级规模:(自定义Http server) + fastcgi + cpp server + cache + self db (腾讯,google模式)

结果分析:
新浪博客:速度太慢了,无法接受
腾讯空间:速度非常快,超出预期
(但在体验上有个问题,动不动就要输入验证码,一分钟内操作不超过一次也出验证码,my god!) 
金股网博客:速度正常,还有进一步优化的空间

 

由于是在深圳做的测试,腾讯,金股网服务器均布在深圳,而新浪博客服务器应该主要集中在北京。
加上中国特色的网络环境, 猜测主要时间花费在网络传输上了。

nginx已经在慢慢抢占apache的市场份额了,从静态领域到动态领域。
apache坚持稳定第一的原则,在互联网公司普遍缺钱的情况下似乎行不通。
nginx刚好相反,坚持 性能第一的原则, 更合管理层与技术高手的口味:花最少的钱,做最多的事。

抱歉!评论已关闭.