【问题标题】:Poor Google Cloud SQL performance谷歌云 SQL 性能不佳
【发布时间】:2013-01-03 04:55:44
【问题描述】:

我很难使用 Google Cloud SQL 获得良好的性能,我正在执行一些非常基本的 CRUD 操作,例如:

public BaseUser getUser(String token) throws SQLException{
    Connection conn = DriverManager.getConnection(JDBC_CON_STRING);
    PreparedStatement ps = conn.prepareStatement(GET_USER_BY_TOKEN_QUERY);
    ps.setString(1, token);
    ResultSet rs = ps.executeQuery();
    List<BaseUser> users = inflateUser(rs);
    if(users.size() == 0){
        return null;
    }
    if(users.size() > 1){
        logger.info("DATABASE MAY BE CORRUPTED, THERE'S MORE THAN 1 USER WITH THE SAME TOKEN");
    }
    ps.close();
    rs.close();
    conn.close();
    return users.get(0);
}

每个查询的平均响应时间为 450 毫秒。 += 150 表示打开连接,150 表示运行,150 表示关闭。看图。下面。

我已经阅读了谷歌文档、论坛和多个博客,但仍然看不出我做错了什么(我一定是做错了什么,450 毫秒/查询太远了......)

更新 1: 我绝对是 Google Cloud SQL 问题,我安装了自己的本地 MySQL 服务器,并且性能更好(“插入或更新”为 80 毫秒,然后选择最后提交。),希望我能从谷歌开发者那里得到一些提示。团队,我真的很喜欢整个谷歌云平台,但在这种延迟水平下工作简直是不可能的 =(

更新 2:2014/05/06 延迟问题与 D0 或 D16 相同。由于延迟,尝试从 Google ComputeEngine VM 插入 10000 行(3 个 varchar 和一个 ~100bytes blob)需要 32 秒。 10000 次插入和单个批量插入的持续时间相同。如果我使用 64 个线程,那么持续时间将降至 3 秒。我用原生的mysql jdbc驱动测试过。

有什么建议吗? 谢谢!

【问题讨论】:

  • 您确定您的架构索引正确吗?
  • 这是一个包含 +- 15 列和一个二级索引的测试表。我想它一定很好。另外,请注意连接和关闭操作需要超过 100 毫秒,这是不正常的......
  • 您是否已将 Cloud SQL 实例的访问权限授予多个应用引擎应用程序?
  • 不,它是 D1,只被一个 gae 应用程序使用。
  • 抱歉,它是 D0,但我仍然遇到与 D2 相同的问题。顺便说一句,我仔细检查了我的实例是否在美国,并且鉴于我不是高级用户,因此我的 gae 应用程序也托管在美国。我也尝试过创建一个新实例,以防万一有任何损坏,但我仍然遇到同样的问题!

标签: java google-app-engine jdbc google-cloud-sql


【解决方案1】:

在 AppEngine 中尝试使用 MySQL Connector/J 驱动程序,它可能会提供更好的性能。 请参阅https://developers.google.com/appengine/docs/java/cloud-sql/#Java_Connect_to_your_database 了解要使用的类名和 URL 格式。

罗伯

【讨论】:

  • MySQL 连接器有同样的问题
【解决方案2】:

我遇到了与 php 和套接字一起使用的 GAE + 云 SQL 的问题。

问题是我的查询实际上使用了 3 个查询并读取了数千行,即使只输出一对。

我用 HeidiSQL 找到它,并将 EXPLAIN 放在选择查询前面。

必须在 php 端进行连接,以便该查询集的加载时间(在 chrome devtools 中检查,而不是 mysql 运行时间)从 600 毫秒降至 151 毫秒

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-03
    • 2017-11-14
    • 2021-01-25
    • 2019-07-07
    • 2019-01-29
    • 1970-01-01
    • 2018-02-21
    相关资源
    最近更新 更多