MySQL 容量规划

在读密集型的应用中,主从的拓扑结构是一个比较好的解决方案。但是主从并不意味着一味地添加从服务器来扩充系统容量,因为当写操作成为系统的瓶颈时,添加的服务器越多,对主服务器的压力就会越大,并且有可能性能会降低。

例如:假设服务器的工作负载为10%的写和90%的读

前提:
并且读写都是相同的工作量,每台服务器(相同配置)
每秒只能进行1000查询操作
可以把所有的读操作都分配给从服务器

基于以上情况,如果当前的服务器能够支持1000次/s的查询,那么系统需要添加多少台服务器才能提升1倍性能呢。也就是200写和1800次读。因为写就站了20%,那么每台服务器的读也就是剩下800次,在这1800次读操作中,需要至少3台服务器。如果性能在提升一倍呢。也就是400次写和3600次读,因为每台服务器的读剩下600次,那么至少需要6台。往后需要性能提升的时候在财务允许的情况下且不改变架构的情况下可以不断添加从服务器。直到性能提升到最开始的10倍也就是1000次写操作和9000次读操作。这时候无法进行读操作,因为所有的资源已经被写操作占用了。这时候写操作就是整个架构的瓶颈,如果添加从服务器只会降低服务器性能,对于整个项目来说无疑是雪上加霜。这时候只能改变系统架构,例如对系统进行垂直拆分等

推荐文章