Vis*_*ish 2 php mysql database scaling
我买不到更多的硬件.我有2gig ram for mysql.
现在我的小部件正在57个网站上显示,平均有3000个视图.我的窗口小部件每个视图需要200个插入,以便对内容进行最佳用户优化.这意味着平均每秒有近400个插入.
现在你建议我做什么来加快插入速度.插入的数据分为三个表,其中两个表各获得80个,最后一个表插入40个表.
我正在使用MYISAM,我不喜欢INNODB,因为我从来没有使用它,我现在也不能使用它,但一个很好的理由可能会说服我.问题是在高峰时间每秒大约有1200个插入,这是一个真正的瓶颈.
主要是查询是更新以增加展示次数.因此,更新展示次数=展示次数+ 1,其中widget = widget_id
任何加速数据库查询的建议都会很棒.
也可以有插入的缓存,例如批量运行插入.这样的事情.及时插入,批量插入等.顺便说一句,如果可以详细解释,我真的很感激,因为我是一个完整的菜鸟.
多谢你们
考虑InnoDB符合您的最佳利益.InnoDB是MySQL与其他适当的关系数据库最相似的地方,提供最高的可靠性和功能.在您的情况下,MyISAM最大的直接缺点是每次插入或更新行时都会锁定整个表.虽然MyISAM对于小规模项目来说非常快,但如果你有很多插件,那么最终可能会成为瓶颈,如果还没有.您稍后可能还需要InnoDB提供的正确外键,事务等.
您还应该阅读MySQL文档和MySQL性能博客上的文章,了解有关缓冲区和其他配置选项的MySQL优化配置的提示.
MySQL Tuner也可以帮助您确定您真正需要的内容.它将显示统计信息,例如插入百分比和选择百分比,各种缓冲区使用的内存量,查询缓存的执行方式等等.它还提供了关于改进这些内容的调整的提示,尽管这些技巧应该在实际执行之前进行研究.
| 归档时间: |
|
| 查看次数: |
165 次 |
| 最近记录: |