我有一个D0大小的Cloud SQL实例。当我运行一个简单的
select * from table大约有500行,平均执行时间为100ms(由SQL提示符报告)。而在我的本地MySQL 5.5实例上,只需要1毫秒。我的开发机器有2.9 8GB双核英特尔酷睿i7和8 8GB 1600 My内存。我在FAQ中读到,db的性能取决于大小--越大的实例有更多的内存和CPU。
期望通过更大的实例大小来解决性能问题是否合理?或者我还漏掉了什么?
发布于 2019-02-03 21:51:59
这是我们在2019年1月的更新。
在4vcpu +15 to实例中使用46 to数据库的Google Cloud SQL第二代,我们发现即使与运行默认mysql安装且仅分配125MB内存的开发macbook pro相比,它也可能慢得离谱:
Mysql: Google Cloud SQL with 10GB RAM is 20x slower than Macbook Pro configured with 125MB ram
发布于 2014-08-16 04:02:42
编辑:2016年4月10日
GAE现在提供了第二代云mysql,即使是像'db-g1-small‘这样的基本层也可以像旧的cloud SQL产品中的D8层一样快。它的价格也要便宜得多。这似乎是一个重要的里程碑,没有理由再求助于黑客和变通。
您可以参考Cloud SQL定价,但大概最低费用在20美元/月左右。
原始帖子
谷歌只是在D0层的一个慢机器上配置了VM。你可以选择D4,但是内存并不是处理器的主要问题(他们没有提到GHz)。
网络延迟不是问题所在。例如,下面的0.05s是服务器上的查询执行时间。此后可以在数据传输中花费任何时间量。
mysql> select * from tracking limit 5;
+--------------------------------+-----------+-----------+
| id | scan_date | status |
+--------------------------------+-----------+-----------+
| 420006929400111899561510697350 | NULL | Delivered |
| 420010859400111899561989496058 | NULL | Delivered |
| 420019849400111899561989496331 | NULL | Delivered |
| 420100109400111899561903290311 | NULL | Delivered |
| 420100319400111899561944407020 | NULL | Delivered |
+--------------------------------+-----------+-----------+
5 rows in set (0.05 sec)编辑:2016年3月
对于一些应用程序,我不再使用Cloud SQL,而是使用远程托管的基本MySql集群,因为GAE打开了出站套接字连接。听起来很疯狂?不是根据数字--通过这种套接字连接发送查询和获取数据要比共同定位的D3更快。
发布于 2014-08-16 19:45:39
视图是性能不佳的原因。谷歌运行他们自己风格的MySQL引擎,其优化方式可能会损害视图。如果您有许多连接或/和联合,则视图运行速度较慢。
然而,自从我发布这个问题已经快一年了,事情可能已经改变了。自从我们不再使用视图后,我就再也没有重新访问过它们。
https://stackoverflow.com/questions/18618128
复制相似问题