性能调优是一个迭代过程,您需要评估 CPU 利用率和延迟时间等指标,调整架构和应用以提高性能,然后再次进行测试。
例如,您可以在架构中添加或更改索引,或者更改主键。在应用中,您可以批量写入,也可以合并或修改查询。
对于生产流量,性能调优尤为重要,有助于避免意外情况。设置越接近实际生产流量吞吐量和数据大小,性能调优效果就越好。
如需测试和调整架构及应用性能,请按以下步骤操作:
- 将部分数据上传到 Spanner 数据库中。 您可以使用 BigQuery 反向 ETL 工作流加载示例数据。如需了解详情,请参阅加载示例数据。
- 将应用指向 Spanner。
- 通过检查基本流程来验证数据库一致性。
- 通过对应用执行负载测试,验证性能是否符合您的预期。如需有关如何识别和优化最耗费资源的查询的帮助,请参阅使用查询数据分析检测查询性能问题。
具体而言,以下因素可能会导致查询性能欠佳:
- 低效查询:如需了解如何编写高效的 SQL 查询,请参阅 SQL 最佳实践。
- 高 CPU 利用率:如需了解详情,请参阅调查高 CPU 利用率。
- 锁定:如需减少因事务锁定而导致的瓶颈,请参阅识别可能导致高延迟的事务。
- 架构设计效率低下:如果架构设计不合理,查询优化就没什么用。如需详细了解如何设计良好的架构,请参阅架构设计最佳实践。
- 热点:Spanner 中的热点会限制写入吞吐量,尤其是对于高 QPS 应用。如需找出热点或架构设计问题,请查看 Google Cloud 控制台中的 Key Visualizer 统计信息。如需详细了解如何避免热点,请参阅选择一个主键以避免生成热点。
- 如果您修改了架构或索引,请重复进行数据库一致性和性能测试,直到获得令人满意的结果。
如需详细了解如何微调数据库性能,请与 Spanner 支持团队联系。