gpt4 book ai didi

php - 小型应用程序的 Mysql 缩放

转载 作者:搜寻专家 更新时间:2023-10-30 20:00:19 25 4
gpt4 key购买 nike

我不能再买硬件了。我有 2gig ram 用于 mysql。

现在我的小部件在 57 个网站上显示,平均浏览量为 3000 次。我的小部件需要为每个 View 插入 200 个内容,以便对内容进行最佳用户优化。这意味着平均每秒有近 400 次插入。

现在你建议我做什么来加快插入速度。插入的数据分为三个表,其中两个表各插入 80 个,最后一个表插入 40 个。

我正在使用 MYISAM,我不喜欢 INNODB,因为我从未使用过它,而且我现在也不习惯使用它,但是一个好的理由可能会说服我。问题是在高峰时段每秒大约有 1200 次插入,这是一个真正的瓶颈。

查询主要是更新以增加印象。所以更新 impressions = impressions + 1 where widget=widget_id

任何加速数据库查询的建议都会很棒。

也可以有插入缓存,例如批量运行插入。像那样的东西。及时插入、批量插入等。顺便说一句,如果能详细解释一下,我将不胜感激,因为我是一个十足的菜鸟。

谢谢大家

最佳答案

考虑使用 InnoDB 最符合您的利益。 InnoDB 是 MySQL 最像其他适当的关系数据库的地方,并提供最可靠和功能。在您的情况下,MyISAM 最大的直接缺点是每次插入或更新行时整个表都被锁定。虽然 MyISAM 对于小规模项目来说非常快,但如果你有很多插入操作,那么最终可能会成为瓶颈(如果还没有的话)。稍后您可能还需要 InnoDB 提供的适当的外键、事务等。

您还应该阅读 MySQL Performance Blog 上的 MySQL 文档和文章有关缓冲区和其他配置选项的 MySQL 最佳配置的提示。

MySQL Tuner 还有助于确定您真正需要什么。它将显示诸如插入百分比和选择百分比、各种缓冲区使用了多少内存、查询缓存的执行情况等统计信息。它还提供了关于如何调整以改进这些事情的提示,尽管在您实际执行这些提示之前应该对这些提示持保留态度并进行研究。

关于php - 小型应用程序的 Mysql 缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5452730/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com