博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
新浪互联星空网站的体系结构(4000万动态pv-6台服务器)
阅读量:2435 次
发布时间:2019-05-10

本文共 1650 字,大约阅读时间需要 5 分钟。

这个博文于2007年12月17号发表,我认为:

开源的宗旨:就在于技术的传播,让更多的人知道。我再把这个翻出来。以下是对原文的引用(注:以下的第一人称“我”指作者-张宴)。另外提示一下大家,很多的技术内幕不在公司的主页上,往往在技术主创人员的blog中。很多的牛牛的blog都是大家关注的目标(像mysql大牛:jay pipe, jcole,Jeremy Zawodny,还有很多,不一一列出)付本文作者的blog:http://blog.s135.com/
  新浪科技讯 2007年5月17日,新浪与中国电信联合召开新闻发布会,正式宣布双方在播客业务上结为全面合作伙伴关系,新浪播客将以联合品牌“新浪-互联星空播客” 的全新形象跟网民见面。今后,网民不仅将体验到速度更流畅、内容更丰富的播客平台,而且无论在新浪网,还是互联星空网站都可使用播客的全部服务。
  http://tech.sina.com.cn/i/2007-05-17/10091512192.shtml
  报道第一段最后一句“还是互联星空网站都可使用播客的全部服务”派生的产品:互联星空播客(http://you.video.vnet.cn)于2007年12月17日正式上线。互联星空的用户可以用自己的帐号登录播客,上传视频。
  
  我在设计系统架构时,进行了大胆的尝试,只用6台Web服务器(除开FLV视频存储服务器),达到了可承受4000万PV(页面访问量)的性能:
  抛弃了 Apache,因为它能承受的并发连接相对较低;
  抛弃了 Squid,因为它在内存利用、访问速度、并发连接、清除缓存等方面不如 Varnish;
  抛弃了 PHP4,因为 PHP5 处理面向对象代码的速度要比 PHP4 快,另外,PHP4 已经不再继续开发;
  抛弃了 F5 BIG-IP 负载均衡交换机,F5 虽然是个好东西,但由于价格不菲,多个部门多个产品都运行在其之上,流量大、负载高,从而导致性能大打折扣;
  利用 Varnish cache 减少了90%的数据库查询,解决了MySQL数据库瓶颈;
  利用 Varnish cache 的内存缓存命中加快了网页的访问速度;
  利用 Nginx + PHP5(FastCGI) 的胜过Apache 10倍的高并发性能,以最少的服务器数量解决了PHP动态程序访问问题;
  利用 Memcached 处理实时数据读写;
  利用 HAProxy 做接口服务器健康检查;
  经过压力测试,每台Web服务器能够处理3万并发连接数,承受4千万PV完全没问题。
  保证4千万PV的并发连接数:(40000000PV / 86400秒 * 10个派生连接数 * 5秒内响应 * 5倍峰值) / 6台Web服务器 = 19290连接数
这里再说明一下他的性能指标:
6台Web服务器(除开FLV视频存储服务器),达到了可承受4000万PV(页面访问量)的性能
每台Web服务器能够处理3万并发连接数
另外说明一下pv和并发连接数的计算公式:这个会影响今后并发连接数技术指标:
保证pv/day的并发连接数的计算公式是:
并发连接数=pv / seconds(one day=86400) * (para connect per a page) * (time to react) * (factor=5) / (web hosts)
上述的计算公式更精确。
而以前见到的计算公式是:总pv/总时间*峰值倍数,这个公式没有考虑一个pv的并发连接请求和一个pv请求的运行时间,没有上述的计算准确。
也就是说上述计算公式更合理,推荐使用这个公式,这样对技术更有保障。
这个体系对我们有很大的借鉴意义,我们和他的技术体系是一样的,都是lamp的架构。
新浪今年在技术上突然发飙,推出了几款开源的cache解决方案,以前的新闻老大都在追求技术了,这个只能说明一个问题:互联网,技术是立命安身

转载地址:http://ojmmb.baihongyu.com/

你可能感兴趣的文章
分类模型的效果评估
查看>>
深入理解什么是Java双亲委派模型
查看>>
MySQL优化Limit查询语句
查看>>
轻松入门MySQL主从复制原理
查看>>
SpringCloud全家桶---Zuul网关
查看>>
基于zuul和ribbon的灰度发布方案
查看>>
JVM常用垃圾收集器参数说明
查看>>
MySQL索引基础知识梳理
查看>>
MySQL事务ACID底层实现原理
查看>>
关于MySQL wait_timeout问题记录
查看>>
基础算法面试题---如何用栈实现队列
查看>>
基础算法面试题---如何用队列实现栈(1)
查看>>
基础算法面试题---如何用队列实现栈(2)
查看>>
API接口安全性设计以及各参数的作用
查看>>
《Netty权威指南 第2版》学习笔记(1)---服务端与客户端开发入门
查看>>
《Netty权威指南 第2版》学习笔记(6)--- HTTP协议开发应用
查看>>
链表算法面试题---删除链表中的重复元素II
查看>>
链表算法面试题---合并两个链表
查看>>
链表算法面试题---旋转链表
查看>>
链表算法面试题---交换链表的节点I
查看>>