在将数据库建议应用于生产数据库舰队之前,您可以使用 Database Center 中的评估来评估和测试这些建议对性能的影响。
为了评估建议,评估会执行以下操作:
克隆数据库实例。
对克隆运行基准模拟测试。
将克隆的基准性能与应用建议的配置更改后的性能进行比较。
支持的产品和建议
Database Center 评估仅适用于 Cloud SQL for PostgreSQL 实例。
您可以评估以下类型的建议:
扩充计算资源:评估将实例 调整为具有更多 vCPU 或内存的机器类型的影响。
版本升级:评估从 Cloud SQL 企业版迁移到 Cloud SQL Enterprise Plus 版 Cloud SQL for PostgreSQL 对性能的影响。如需了解详情,请参阅 就地将实例升级到 Cloud SQL 企业 Plus 版。
启用数据缓存:分析启用数据缓存对延迟时间和吞吐量的影响 。
准备工作
在运行建议评估之前,请确保满足以下要求:
启用 API:启用以下 API:
- Cloud SQL Admin API (
sqladmin.googleapis.com) - Cloud Run Admin API (
run.googleapis.com) - Cloud Logging API (
logging.googleapis.com) - Gemini Cloud Assist API
(
geminicloudassist.googleapis.com) - Secret Manager API
(
secretmanager.googleapis.com) - Cloud Monitoring API (
monitoring.googleapis.com)
如需启用 API,请参阅启用和停用 API以 启用 API。
- Cloud SQL Admin API (
数据库连接凭据:您必须提供目标数据库 名称和数据库用户名。
Secret Manager Secret:您必须将 数据库用户名的密码存储在全局 Secret Manager Secret 中,并知道 该 Secret 的名称,以便在 Secret 选择器中搜索它。如果该 Secret 未显示在列表中,您只需提供完整的 Secret 路径。 如需详细了解如何创建 Secret,请参阅 创建和访问 Secret。
服务账号:为环境配置 Identity and Access Management (IAM) 服务 账号,以便对基准性能与建议的更改进行基准测试和比较。此服务帐号需要具有从 Secret Manager 读取数据库凭据 Secret 的权限,以及在 Cloud Run 中协调基准测试任务的权限。如需配置 服务账号,请参阅 创建服务账号。
IAM 权限:您必须具有启动和管理测试流程所需的 IAM 权限。 如需了解详情,请参阅 所需的 IAM 权限。
评估建议
如需评估和测试建议,请按以下步骤操作:
在 Google Cloud 控制台中,前往 Database Center 页面。
点击导航菜单中的评估 。
找到 受支持建议,以获取 Cloud SQL for PostgreSQL 实例。
点击该建议的影响 列中的评估影响 。
如果您尚未启用所需的 API,请按照面板中的说明启用它们。
在评估详情 页面上,在配置面板中输入以下连接详情:
在数据库 中,输入数据库的名称。有效选项与 Cloud SQL 实例的数据库 页面上列出的数据库相对应。
在用户名中,输入数据库用户名。
在密码 Secret 中,选择包含数据库用户密码的 Secret Manager Secret。
如果该 Secret 未显示在列表中,请手动输入 Secret 路径 ,格式为
projects/PROJECT_ID/secrets/SECRET_NAME. 将PROJECT_ID替换为您的项目 ID,将SECRET_NAME替换为 Secret 的名称。 默认情况下,Database Center 使用最新版本的 Secret。您可以选择通过将/versions/VERSION附加到路径来指定版本,并将VERSION替换为 Secret 的版本。在服务账号中,选择用于 运行基准测试作业的服务帐号。
点击生成测试计划 。生成计划需要几分钟时间。
Database Center 会生成测试计划预览,其中显示了克隆数据库、运行 pgbench工作负载、应用建议和分析性能的步骤顺序。
Database Center 会在生成计划时在评估 页面上列出该会话。您可以放心离开该页面,稍后再返回该会话。
如需优化测试计划,请在测试说明 字段中输入说明(例如
Change the benchmark duration to 60 seconds),然后点击更新测试计划 。点击开始评估 。在确认对话框中,查看结算通知。在您的项目中预配克隆的实例和运行基准测试作业是 需要付费的。
评估会话的有效期为 48 小时。 Database Center 会在成功评估后自动删除克隆的实例。如果评估失败,克隆的实例 不会自动删除,您必须 手动删除它。
点击确认 以开始评估。评估过程需要一些时间才能完成。
Database Center 会显示评估进度。您可以在会话在后台运行时放心离开该页面。
查看评估历史记录和报告
通过跟踪评估会话来管理评估和查看性能比较报告。数据库中心会将会话报告和元数据保留 48 小时,并为每个会话显示到期倒计时。
在 Google Cloud 控制台中,前往 Database Center 页面。
在导航菜单中,点击评估 。
在会话列表中,点击会话的会话 ID 以查看其详细信息。
下表介绍了评估会话状态、为每种状态显示的信息以及可用的操作:
状态 显示的信息 可用的操作 规划阶段 测试计划详细信息和预览。 使用测试说明 字段优化测试计划预览,或点击开始评估 以开始评估。 评估阶段 评估进度和评估使用的测试计划。 点击取消 以取消评估。 已完成 比较应用建议前后数据库性能的摘要。 无 已取消 取消评估之前的评估进度。 无 未能生成 未能生成测试计划。您可以查看测试计划详细信息 和配置字段(例如数据库名称和 Secret 名称), 以重试生成测试计划。 更新评估配置设置(例如数据库名称 和用户名),然后重试生成测试计划。 评估失败 建议评估失败。您可以查看错误 消息和评估失败之前的评估进度。 无
取消会话或清理失败的会话
如果您取消正在进行的评估会话或执行失败,请验证是否已移除所有临时资源。由于 Database Center 无法确认失败或取消后清理是否成功,因此请检查并删除所有失败和取消的会话的剩余数据库克隆实例。
取消会话:在评估页面上, 点击要取消的评估的会话 ID,然后点击 取消。如需取消会话,其会话 ID 的状态必须为评估阶段 。
清理克隆的资源:
如需手动删除克隆的实例,请执行以下操作:
在 Google Cloud 控制台中,前往 Cloud SQL 实例 页面。
在实例列表中,找到克隆的实例。您可以使用会话详情页面上显示的资源链接来识别克隆。
点击克隆的 实例旁边的更多操作 more_vert,然后点击删除。
在确认对话框中,输入克隆的实例名称,然后点击删除 。
必需的 IAM 权限
您需要特定权限才能启动和管理测试流程。 您可以通过分配预定义角色或创建具有单独权限的自定义角色来获取这些权限。
如需 管理访问权限和了解角色,请参阅使用 IAM 进行访问权限控制。
最终用户的权限
下表列出了您的用户账号所需的权限以及包含这些权限的预定义角色:
| 所需权限 | 预定义角色 |
|---|---|
cloudsql.instances.patchcloudsql.instances.clonecloudsql.instances.deletecloudsql.instances.getcloudsql.instances.createTestingAgentSessioncloudsql.instances.getAgentSessioncloudsql.instances.listAgentSessionscloudsql.instances.cancelAgentSession
|
roles/cloudsql.admin
|
run.jobs.createrun.jobs.run
|
roles/run.developer
|
logging.logEntries.list
|
roles/logging.viewer
|
secretmanager.secrets.list
|
roles/secretmanager.viewer
|
serviceusage.services.use
|
roles/serviceusage.serviceUsageConsumer
|
monitoring.monitoredResourceDescriptors.list (可选)
|
roles/monitoring.viewer 或 roles/viewer
|
如需在评估结果页面上查看图表数据,您的用户账号必须具有 monitoring.monitoredResourceDescriptors.list 权限。建议您拥有此权限,但运行建议评估不需要此权限。
启动评估的用户还必须对所选服务帐号具有
服务账号用户
角色 (roles/iam.serviceAccountUser) 或 iam.serviceAccounts.actAs
权限。
Cloud Run 服务账号的权限
下表列出了 Cloud Run 作业使用的服务帐号所需的权限以及包含这些权限的预定义角色:
| 所需权限 | 预定义角色 |
|---|---|
cloudsql.instances.connect
|
roles/cloudsql.client
|
cloudsql.instances.login
|
roles/cloudsql.instanceUser
|
secretmanager.versions.access
|
roles/secretmanager.secretAccessor
|
限制
使用建议评估时,请考虑以下限制:
仅提供信息报告:评估不会对 您的生产数据库应用修改。如果您认可基准测试结果,请使用 Cloud SQL for PostgreSQL 控制台或 Cloud SQL for PostgreSQL API手动应用建议。
48 小时后过期:Database Center 仅在会话存储区中保留会话报告和元数据 48 小时,然后将其删除。
单用户隔离:只有创建验证会话的用户 才能查看该会话。您项目中的其他正文无法查看您的会话历史记录或结果。
全局 Secret 位置:包含数据库密码的 Secret Manager Secret 必须是全局 Secret。不支持区域 Secret。
结算
建议评估会产生评估期间使用的资源的费用。系统会在您的项目中创建数据库实例的克隆,您需要为该克隆付费。Database Center 会在成功评估后自动删除克隆。如果评估 失败或取消,您必须手动删除克隆,以 避免持续产生费用。
此外,数据库代理还会使用其他 Google Cloud 基础架构,这些基础架构可能会产生费用,包括:
- Cloud SQL:适用于克隆的实例。如需了解详情,请参阅 Cloud SQL 价格。
- Cloud Run:用于运行评估代理。如需了解详情,请参阅 Cloud Run 价格。
- 其他服务:用于协调 评估的其他服务的少量费用。
您只需为评估运行的时间付费。
后续步骤
了解如何 查看和过滤健康状况问题和建议。
了解如何 使用 Gemini 分析数据库舰队的健康状况。
了解如何 自定义数据库舰队视图。