我们在Debian 8上使用Percona MySQL 5.6作为电子商务聚合器。为此,有一个主后端服务器执行整个ETL(处理来自合作伙伴的产品供稿)和前端Web服务器使用的从属MySQL服务器。它是一个包含大约600GB数据的单一产品数据库。
两台机器都配有带数据中心系列SSD的RAID10。 Master MySQL是双Xeon E5,内存为128GB,slave是单个Xeon E5,内存为64GB。我们的问题是,ETL是如此I / O繁重(具有数千IOPS),主机能够处理I / O负载,但从服务器无法跟上复制。大多数工作都是在ramdisk中完成的,只有真正的必要数据已经写入数据库了。
从属有更多的读取而不是写入,但复制无法赶上。有哪些选项可以缩放从属服务器上的复制写入(即I / O负载)?
编辑2016-11-18 :对于“选项”,我不仅要求优化MySQL,还要求其他可以更好地处理这种情况的技术或软件。
答案 0 :(得分:1)
升级到5.7应该有望解决您的问题:http://mysqlhighavailability.com/multi-threaded-replication-performance-in-mysql-5-7/。
这通常是主机耗尽写入容量的先兆。你应该尽快开始考虑分片。您可以查看我参与的YouTube vitess.io项目。