我在部分mysql数据库迁移AWS中.有问题的数据写入99%左右,每行大约1k的varchar字段,一个日期和四个整数.
我估计我们需要在高峰时间插入20-25k记录/小时.
我在当前的数据库上运行iostat -h,它报告了大约40份 tps.
我如何确定我需要什么样的类型?IOPS?
解决方法:
你必须测试它.
你可以在几乎每个插入的信封计算后做一些信封计算I / O数量乘以每秒事务数,添加到一些缓冲室,但更容易测试.
最简单的方法是分配最好的猜测,然后返回并添加或减少它来匹配你的真实世界测试.这是基于云环境的奢侈品之一。硬件变化的资本成本很低,通常只需要配置和更新.使用EBS卷,你不仅可以增加IOPS还必须扩大卷的大小和1。您总能创建新卷并复制数据.会有一些停机时间,但是如果你的数据不是很大,那就不应该是原始副本了.
这是对所需I / O数量的猜测.第三,这只是一个猜测,因为细节取决于索引的数量以及你的流量是否流畅。spikey.在25K tx /小时,你得到了~7 tx / sec.每行的大小不是特别相关,因为它小于单行I / O(4K)的大小.每个事务将是1-5 IOP(主插入加上一对索引树插入)之间进行,所以假设~35 / s.
我说从最低100 IOPS如有必要,可以开始扩展.
标签:mysql,amazon-rds
来源: https://codeday.me/bug/20190805/1588222.html