我使用压力测试工具进行测试(运行许多并发用户和许多查询)。当我使用更多的数据库服务器(我使用 5 个服务器)时,没有增加速度。
我检查了每台服务器,我看到查询已分布在每台服务器上。
如果我想扩展数据库服务器以提高查询速度,我应该怎么做?
Galera 在集群中大约 5 个节点处达到最大值。可能是由于每次写入都广播到其他每个节点,并等待回复。
有很多方法可以扩展 MySQL;Galera 就是其中之一,它可能是当今最好的写入缩放。
对于读取扩展,复制从属提供几乎无限的扩展。您可以从每个 Galera 节点挂起传统的复制从属服务器。这将让您从 5 个节点卸载读取。从站可以级联(使用“中继”),从而提供无限扩展。一台服务器可以轻松地挂起 10 个从属服务器;做6个级别,你就有一百万台服务器。(我没有使用超过 3 个级别和 30 多个奴隶。)
扩大规模的一种常见方法是查看代码。 很多新手都不知道复合索引。对于插入、批处理和LOAD DATA
是非常有效的。对于数据仓库,汇总表通常可以将“报告”速度提高 10 倍。对于高速摄取,乒乓球临时表非常好。对于 GUID/UUID 索引,最好放弃它们。EAV同上。对于大量删除,有几种方法。