50万账户
两台Web服务器和一个数据库服务器。
第二代架构:运行在3个SQL Server数据库服务器,一主二从,读写分离。
1-2百万账户
垂直分割:不同的数据库服务于站点的不同功能,如登录、用户资料和博客。账户到达2百万后,
数据库服务器开始受制于I/O容量, 用高带宽、专门设计的网络将大量磁盘存储设备连接在一起, 而数据库连接到SAN(Area StorageNetwork,存储区域网络)。
3百万账户
首先将重点放在了向上扩展上,花费了大约1个半月时间研究升级到32CPU服务器以管理更大数据库的问题。
将用户按每百万一组分割,然后将各组的全部数据分别存入独立的SQL Server实例。MySpace的每台数据库服务器实际运行两个SQL Server实例,也就是说每台服务器服务大约2百万用户。
有一个特殊数据库保存了所有账户的名称和密码。用户登录后,保存了他们其他数据的数据库再接管服务。特殊数据库的用户表虽然庞大,但它只负责用户登录,功能单一,所以负荷还是比较容易控制的。
9百万到1千7百万账户
ColdFusion代码大规模迁移到ASP.NET。
增加数据缓存层(一开始就应该做的事情)。
SAN的引入解决了早期一些性能问题,但站点的要求已经开始周期性超越SAN的I/O容量——即它从磁盘存储系统读写数据的极限速度。迁移到虚拟存储体系:采用了一种新型SAN设备3PAR。
2千6百万账户
切换到64位数据库和操作系统。
加大服务器内存。