zoukankan      html  css  js  c++  java
  • 博客系统架构对比分析

    新浪博客系统架构(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刚好相反,坚持 性能第一的原则, 更合管理层与技术高手的口味:花最少的钱,做最多的事。
  • 相关阅读:
    设置MYSQL允许用IP访问
    EasyUI中那些不容易被发现的坑——EasyUI重复请求2次的问题
    Oracle初级性能优化总结
    Asp.Net MVC3.0网站统计登录认证的在线人数
    App.config和Web.config配置文件的配置节点的解析
    App.config和Web.config配置文件的自定义配置节点
    Asp.Net Web API 2第十八课——Working with Entity Relations in OData
    win7凭据管理、win7多用户远程登录、主机头设置、nuget.org无法访问
    Asp.Net Web API 2第十七课——Creating an OData Endpoint in ASP.NET Web API 2(OData终结点)
    C#基础知识系列八(const和readonly关键字)
  • 原文地址:https://www.cnblogs.com/hsapphire/p/1979464.html
Copyright © 2011-2022 走看看