繁体   English   中英

小型应用程序的Mysql Scaling

[英]Mysql Scaling for small app

我无法购买更多硬件。 我有用于MySQL的2gig ram。

现在,我的窗口小部件正在57个网站上平均展示3000次。 我的窗口小部件每个视图需要200次插入,以使用户最佳地优化内容。 这意味着平均每秒大约有400次插入。

现在,您如何建议我加快插入速度。 插入的数据分为三个表,其中两个分别获得80个数据,最后一个获得40个插入数据。

我正在使用MYISAM,我不喜欢INNODB,因为我从未使用过它,现在我也不适应使用它,但是有充分的理由可以说服我。 问题在于,在高峰时间每秒大约有1200次插入,这是一个真正的瓶颈。

主要是更新查询以增加印象。 因此,更新印象数=印象数+ 1,其中widget = widget_id

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

也可以有用于插入的高速缓存,例如批量运行插入。 这样的事情。 及时插入,批量插入等。顺便说一句,如果我可以详细解释一下,我将不胜感激,因为我是一个完整的菜鸟。

多谢你们

考虑InnoDB符合您的最大利益。 MySQL与其他适当的关系数据库最相似的地方是InnoDB,并提供最可靠的功能。 在您的情况下,MyISAM的最大直接缺点是每次插入或更新一行时,整个表都被锁定。 尽管MyISAM对于小型项目非常快,但是如果您正在进行大量插入操作,那么如果还没有插入,最终可能会成为瓶颈。 稍后您可能还需要InnoDB提供的适当的外键,事务等。

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

MySQL Tuner还可帮助您确定您真正需要什么。 它将显示诸如插入百分比和选择百分比,各种缓冲区正在使用多少内存,查询缓存的执行情况等统计信息。 它还提供了有关如何调整以改进这些功能的提示,尽管这些提示应先加一点盐,然后在实际操作之前进行研究。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM