【发布时间】:2014-04-24 16:00:49
【问题描述】:
在连接到 CloudSQL 后端时,我发现开发和生产之间的延迟存在巨大差异,远远超出我的预期。
我在哪里进行了测试:
- 我提取了 125、250、500、1000 和 2000 行(行大小约为 30 字节)
- 我提取了每个行大小 20 次,以获得良好的时间采样
测试在三种环境中运行:
- 托管应用引擎
- 本地开发模式,但通过静态 IP 连接到 CloudSQL
- 本地开发模式并连接到运行 MySQL 的本地 VM
在这里您可以看到结果:
现在我预计会出现 50ms-200ms 左右的速度波动,但 3-4 秒 似乎有点高。
我是 appengine 的新手,所以任何可能导致此问题的新错误?或者其他建议?我在 appengine 中对我的代码运行了一个分析器,并且调用了 _apiProxy.Event“等待”,它消耗了至少 500 毫秒,但没有超过 750 毫秒,除此之外,还有任何长时间运行的调用。当然,一些较短的运行调用最终会加起来,但这不像我有一个需要调整的循环或任何东西。
提前致谢!
【问题讨论】:
-
你是如何在 prod 中连接到 Cloud SQL 的?你用的是原生驱动吗?旧的、已弃用的连接方式很慢(尤其是在 Python 中)。 :-( 已建立连接上“SELECT 1”的往返时间应低于 2 毫秒。
-
我正在使用 sqlalchemy 进行连接,它在后台使用 mysqldb,如此处所述 docs.sqlalchemy.org/en/rel_0_9/dialects/… 。我将编写一个只执行“SELECT 1”的测试,看看需要多长时间。
标签: google-app-engine google-cloud-sql