MySpace.com有着6500万的订阅者,是因特网上增长最快的网站之一,每天还有260,000新用户注册。它经常因为性能问题而受指责,MySpace不得不处理其他网站很少碰到的或大或小的一些问题。它们是怎么做的呢?
Site: http://myspace.com
站点:http://myspace.com
平台
? ASP.NET 2.0
? Windows
? IIS
? SQL Server
内部运行情况?
? MySpace 每天处理15亿的页面页面查看,白天处理230万并发的用户
? 会员用户里程碑
- 500,000用户:简单的磕磕绊绊的体系结构
- 1百万用户:痛苦的垂直分割解决伸缩性
- 3百万用户:Scale-Out 胜过Scale-Up(按比例增加)
- 9百万用户:站点迁移到ASP.NET,增加虚拟存储
- 260万用户:MySpace拥有了64位技术
? 500,000 个帐号对于两个web服务器和一个数据库来说负担太大了
? 100-200万个帐号
- 他们使用了一种数据库体系结构,围绕着垂直分割的概念,提供不同服务比如界面登录,用户资料和博客等的网站的各部分都有单独的数据库。
- 垂直分割方案有助于分开数据库读和写的工作量,并且当用户需要一个新特征时,MySpace 将会加入一个新的在线数据库来支持它。
- MySpace 从直接使用附着于它的数据库的服务器的存储设备转换到一个存储区域网络(SAN),里面大量的磁盘存储设备由一个高速,专用网络联系到一块,同时数据库连接到SAN。到SAN的改变提高了性能,正常运行时间和可靠性。
? 300万个帐号
- 垂直分割解决方案并没有持续很长时间因为它们重复了一些水平的信息像跨过所有垂直片的用户帐号。有这么多的重复它会使系统变慢,肯定要失败。
- 个人应用比如Web站点子部分上的博客将会增长到对于单独一个数据库服务器来说太大的程度
- 在逻辑上重组所有核心数据到一个数据库里
- 把它的用户基本信息分成100万帐号一个的块,然后把所有有键的数据放到SQL Server不同实例的这些帐号中
? 900万-1700万帐号
- 迁移到ASP.NET后,使用了比先前的体系结构更少的资源。150个服务器运行新的代码就能够做原来246个服务器做的同样的工作。
- 再看看存储瓶颈。实施SAN解决了原来的一些性能问题,但是现在Web站点的需求开始间歇性地超过了SAN的I/O能力-它从磁盘存储读写的速度
- 使用每个数据库100个帐号的分开方式达到了极限,因为这已经超过了极限;
- 迁移到一个虚拟存储体系结构,那里整个SAN被当作一个大的存储池来对待,不需要特定的磁盘为特定的应用服务。现在
MySpace在设备上从相对新的SAN厂商,3PARdata方面已经标准化了。增加了一个高速缓存层—服务器放在Web服务器和数据库服务器之间,它唯一的工作就是捕获内存中频繁访问的数据对象的副本,然后把它们用于Web应用,不需要数据库查询。
? 2600万帐号
- 迁移到64位SQL server以解决它们的内存瓶颈问题。它们的标准数据库服务器配置使用64GB的RAM。
Myspace的经验能够说明什么?
? 你可以使用微软的技术构建大型网站。
? 从一开始就应该使用缓存。
? 高速缓存是一个更好的地方存储临时数据,比如Web站点上跟踪一个特定用户的会话产生的临时文件,就不再需要记录到数据库里,
? 嵌入OS特征来检测拒绝服务攻击会产生无法解释的错误
? 把数据分布到地理位置不同的数据中心,以免发生断电事故。
? 从开始就考虑使用虚拟存储/簇文件系统。它能让你大量并行IO访问,而且不需要任何重组就能够增加所需要的磁盘。
分享到:
相关推荐
MySpace的体系架构展示了大型网站如何应对海量用户和高并发挑战。这个社交网络平台在初期遇到了性能问题,但通过不断的技术迭代和优化,逐步解决了这些问题。以下是从文档中提炼出的关键知识点: 1. **垂直分割与...
MYSpace从一个简单的社交平台发展成为了一个拥有数千万用户的大型社交网络,其技术架构经历了从单一技术栈向多样化、高性能架构的转变。在这个过程中,MYSpace团队不断地优化和完善其技术架构,同时也积累了许多宝贵...
1. **大型网站架构演变和知识体系**:这个文档可能详细介绍了互联网公司如何随着用户数量的增长,从最初的简单架构演变为复杂的分布式系统。它可能涵盖了历史上的关键演变阶段,比如从单体应用到微服务,以及涉及的...
- 文档中列举了多个知名网站的技术架构,如YouTube、Technorati、MySpace等,这些案例为读者提供了宝贵的参考价值。 #### 四、实践建议 1. **数据库优化**:通过对SQL查询进行优化、合理使用索引等方式来提高数据库...
实训商业源码-抽奖模块V2.4.4 开源版-毕业设计.zip
实训商业源码-酷炫小程序相册V4.7.0 前端+后端-毕业设计.zip
实训商业源码-QQ域名防报毒网站程序PHP源码 带后台-毕业设计.zip
实训商业源码-便利店小程序 1.0.9-毕业设计.zip
实训商业源码-H5手机转盘活动游戏页面源码-毕业设计.zip
实训商业源码- 视频小店V1.0.4 原版-毕业设计.zip
实训商业源码-仿B站风格视频影视电影网站源码-毕业设计.zip
实训商业源码-C风格门户版1.1 UTF8+GBK-毕业设计.zip
scratch少儿编程逻辑思维游戏源码-星尘.zip
实训商业源码-酷炫小程序相册 4.5.8-毕业设计.zip
scratch少儿编程逻辑思维游戏源码-一天,一生.zip
scratch少儿编程逻辑思维游戏源码-线路关闭.zip
内容概要:本文详细介绍了如何利用MATLAB/Simulink搭建独立运行的光伏混储微电网系统。主要内容涵盖光伏的最大功率点跟踪(MPPT)控制方法,尤其是扰动观察法(P&O)的具体实现及其优化技巧;混合储能系统的功率分配策略,包括采用低通滤波器将功率需求分为低频和高频分量分别由蓄电池和超级电容承担;以及针对不同储能元件的特殊控制措施,如蓄电池的充放电效率补偿和超级电容的限流保护。此外,还讨论了仿真调试过程中的常见问题及解决方案,强调了各子系统的协同工作对于整个系统稳定性的重要意义。 适合人群:从事电力电子、新能源发电领域的研究人员和技术人员,尤其适用于有一定MATLAB/Simulink基础并对光伏混储微电网感兴趣的读者。 使用场景及目标:帮助读者掌握光伏混储微电网的设计与实现方法,特别是在MATLAB/Simulink环境下进行系统建模、仿真和优化的能力。通过学习本文提供的具体案例和技术细节,能够更好地理解和解决实际工程中遇到的问题。 其他说明:文中提供了大量实用的代码片段和调试经验,有助于加深对理论知识的理解并提高动手能力。同时提醒读者关注各个组件之间的相互影响,确保系统整体性能最优。
【低空经济】低空人工智能调度中心建设方案
coneypo_ML_handwritten_number_21976_1746366665585.zip
scratch少儿编程逻辑思维游戏源码-足球传送门.zip