首页 > 编程知识 正文

mysql读写分离中间件,shardingjdbc读写分离

时间:2023-05-03 07:07:42 阅读:37969 作者:2284

先决条件:

读写操作次数比例为1:9,读写操作代价为1:2;

吞吐量为t (吞吐量),单位为r/s,即每秒读写次数;

-------------请参阅

读写不分离,即对于一台数据库

设每秒最大文字次数为: w,则每秒的最大读取次数为R=9w

在此情况下:

读取动作的吞吐量: t读取=9w [r/s]

写入处理的吞吐量: t写入=2w [r/s]

单体系统的最大负荷能力为t单体=2w9w=11w(r/s )

-------------请参阅

采用主多框架后,主服务器只负责写入和复制操作,slave服务器负责复制和读取操作。 设主服务器最大读写次数为w1、合计n台salve服务器,则所有slave服务器的最大读取次数为Rs=9w1

主服务器吞吐量: TM=2*W1N*W1=(N2 ) W1 ) r/s=t单体=11W(N*W1为复印压力) ) ) ) )

主服务器性能提升分析:

Tm/T单体=(n2 ) *w1/11w=1

得到3:w1/w=11/(n2 )。 这意味着master服务器上的写入次数与独立写入次数的比率为11/) ) ) )。

假设单一salve的最大读取次数为Rs,则2*w1/N Rs=11w,得到的Rs=11w-w1/N

设集群整体的最大读取次数为r集群,则r集群=RS*n=(11w-2w1/n ) n、r集群/r=11/9*n-2w1/) 9w )

n=1时,写入性能: w1/w=3.67倍读出性能: r集群/R=0.41倍,整体吞吐量: t集群/T单体=(2*3.67 0.41*9*n )/9=1.22

n=2时,写入性能: w1/w=2.75倍,读取性能: r集群/R=1.83倍,整体吞吐量: t集群/T单体=(2*2.75.83*9*n )/9=4.28

n=3时,写入性能: w1/w=2.20倍读出性能: r集群/R=3.18倍,整体吞吐量: t集群/T单体=(2*2.2 3.18*9*n )/9=10.22

n=4时,写入性能: w1/w=1.83倍读出性能: r集群/R=4.48倍,整体吞吐量: t集群/T单体=(2*1.83 4.48*9*n )/9=18.33

n=5时,写入性能: w1/w=1.57倍读出性能: r集群/R=5.76倍,整体吞吐量: t集群/T单体=(2*1.57 5.76*9*n )/9=29.15

综上所述,由于存在复制压力,随着n的增加,主设备的性能提高效果降低,slave和整体吞吐量的性能提高增加。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。