我们正在做一个 POC 来证明 Vitess 可以大规模扩展并满足我们的要求。我们使用了大约 40 个应用服务器、15 个 VTGates 和 30 个分片(每个分片包含主、副本和 rdonly)。然而,我们能够扩大到一个点,并在该点之上得到一条平线。
对我们来说主要的黑点是连接应用服务器和多个 VTGate。我们在它们之间尝试了负载均衡器 (AWS nlb),发现 QPS 增加但 TPS 低得多(~15000 QPS,~ 1500-2000 TPS)。然后我们厌倦了每个应用程序使用 JDBC 连接池来连接没有负载均衡器的 VTGate。我们得到了类似的结果。然后我们尝试不使用连接池。然后我们能够提高 TPS,但是看到 QPS 大幅下降,这会影响 TPS。