关于部署在gcp负载上的mysql

bqujaahr  于 2021-06-19  发布在  Mysql
关注(0)|答案(2)|浏览(509)

我几乎完成了建立一个网站,我的目标是有10000名用户。这是免费的,所以我想尽量降低费用。
除两个表外,所有表都小于100000行(只读)。在剩下的表中,每个用户总共有大约5200行。另一个我估计两年内每个用户大约有150万行,假设他们继续使用那么长时间。
后一个表如下,除col3外,前一个表相同。。。

CREATE TABLE `my_table` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `col1` int(11) NOT NULL,
  `col2` mediumint(8) unsigned NOT NULL,
  `col3` smallint(5) unsigned NOT NULL,
  `col4` int(11) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `fk1_ix` (`col1`),
  KEY `fk2_ix` (`col2`),
  KEY `fk3_ix` (`col3`),
  CONSTRAINT `fk1` FOREIGN KEY (`col1`) REFERENCES `pktbl1` (`id`) ON UPDATE CASCADE,
  CONSTRAINT `fk2` FOREIGN KEY (`col2`) REFERENCES `pktbl2` (`id`) ON UPDATE CASCADE,
  CONSTRAINT `fk3` FOREIGN KEY (`col3`) REFERENCES `pktbl3` (`id`) ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

对于每一个活跃的用户,这两个表平均每天都会被写入10-20次,读取4-5次。
我想估计一下我的运营成本,有两个主要问题,并感谢您的任何其他意见。
1) 我就能应付我的负担了。
2) 你估计我需要多少cpu/ram来处理响应时间/延迟高达1秒的负载。
我的网站是使用phpyii2框架设计的,所以如果需要的话,我可以切换数据库。查询是简单的插入和索引select语句。

w7t8yxp5

w7t8yxp51#

其实没有办法估计,你的要求很低。如果你能做一些负载测试,这将有助于你。
但是,如果您能够容忍几分钟的停机时间,那么您就能够向上或向下扩展您的云sql示例。这可能会给你信心 f1-micro 或者 g1-small 如果性能不能满足您的需要,则不会阻止您进行升级。

4sup72z8

4sup72z82#

200亿行,大多在小table上?听起来像是1兆字节的磁盘空间。计划一下。
每天20万个查询(写或读)?那只是每秒几次。在任何服务器上都没有问题。但是,这假设查询并不太复杂。
mysql能处理吗?在这个论坛(更好的是,dba.stackoverflow)中,您将看到正在讨论的更大的系统。
cpu——通常是最小的问题。
ram——取决于查询。这些天来,我不会开始任何低于4gb的。
云——这是一个可行的选择。你需要支付额外的费用,但是麻烦更少,尤其是如果你需要升级的话。
在系统上获得100个用户,然后评估您拥有的资源。看看数字是什么样子。
如果遇到性能问题,请首先查看查询和索引,看看是否可以改进最慢的查询。

相关问题