如何在Google Cloud SQL中定义I / O操作?

时间:2012-11-30 06:36:24

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

我想知道Google Cloud SQL中定义的低级I / O操作是怎样的,因为他们已经定义了数据存储,对于一个INSERT或UPDATE,执行了几个低级I / O操作。对于SQL也是如此,如果是这些是什么,另外如果我的数据在Cloud SQL中的多个服务器上复制,我将支付复制成本,例如,如果我的数据分布在5个服务器上,那么我的1个插入等于五次I / O操作?

1 个答案:

答案 0 :(得分:4)

op被定义为对read()或fsync()的调用。如果存在大量缓冲数据,write()也可以触发op。您可以在strace下运行mysqld以了解查询将触发多少操作。例如,像

这样的简单查询
INSERT INTO t VALUES (42);

粗略地生成

write(logfile, 42);
fsync(logfile);
write(datafile, 42);
fsync(datafile);

所以这算作两个操作。复制包含在成本中,因此这只算作两个操作,而不是2 * num_replicas。