• 博客系统架构对比分析


    新浪博客系统架构(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刚好相反,坚持 性能第一的原则, 更合管理层与技术高手的口味:花最少的钱,做最多的事。
  • 相关阅读:
    Windows各种计时器
    C++:数据流和缓冲区
    CImage类的使用介绍!
    PCL:PCL可视化显示点云
    Qt:&OpenCV—Q图像处理基本操作(Code)
    Boost锁~临界区保护和临界资源共享
    关于XML学习
    Eigen库对齐问题:declspec(align('16')) 的形参将不被对齐
    boost多线程使用简例
    一个openMP编程处理图像的示例
  • 原文地址:https://www.cnblogs.com/hsapphire/p/1979464.html
Copyright © 2020-2023  润新知