为了账号安全,请及时绑定邮箱和手机立即绑定

大并发下的php+mysql

大并发下的php+mysql

PHP
翻阅古今 2019-03-12 20:26:11
现在架构是php+mysql,在大并发下根本抗不住,加了redis缓存只能解决部分问题,还有很多实时的数据不能缓存起来的,有没有一个好的解决方案呢。打算拆分业务了,但是最终还是会遇到mysql扛不住的问题,烦恼
查看完整描述

10 回答

?
凤凰求蛊

TA贡献1825条经验 获得超4个赞

MySQL可以做读写分离,一主多从,写主库读从库。

如果读写分离都撑不住,通常瓶颈在主库上,就要考虑做水平拆分(而不是按业务拆分)了。

查看完整回答
反对 回复 2019-03-18
?
慕少森

TA贡献2019条经验 获得超9个赞

mq消峰.....

查看完整回答
反对 回复 2019-03-18
?
守着一只汪

TA贡献1872条经验 获得超3个赞

为什么不先把这些实时数据保存在redis中,然后找个计算机空余的时间再同步到mysql中,这样会好点吧

查看完整回答
反对 回复 2019-03-18
?
墨色风雨

TA贡献1853条经验 获得超6个赞

简单的关系型数据也是可以放在redis中的。mysql始终都是抗不住的。如果流量很大,分拆出很大的那一部分单独优化也是比较好的。

查看完整回答
反对 回复 2019-03-18
?
慕桂英4014372

TA贡献1871条经验 获得超13个赞

好笼统。
不知道问题是什么。

查看完整回答
反对 回复 2019-03-18
?
一只名叫tom的猫

TA贡献1906条经验 获得超2个赞

Mysql的架构方式也是很多的嘛~
读写分离~
一主多从
根据业务情况垂直拆分
水平拆分。

表不经常改,可以使用SqlCache
优化数据库配置,如innodb buffer等

redis也是个不错的缓存手段。
实时数据也是可以通过redis来实现啊,它并不仅仅是个缓存。

数据实时性要求不高的地方,也可以考虑中间件,延迟更新、批量处理等。

方式很多吧,写的比较乱,真正的使用还是要结合你的实际项目需求。

查看完整回答
反对 回复 2019-03-18
?
慕沐林林

TA贡献2016条经验 获得超9个赞

在数据库上一层增加 es 来处理吧 读写优先es

查看完整回答
反对 回复 2019-03-18
?
萧十郎

TA贡献1815条经验 获得超12个赞

这个问题太笼统了。。你说扛不住,那阿里巴巴是怎么做的。
数据库拆分+缓存+异步处理。。。大并发,有效请求是多少呢。

查看完整回答
反对 回复 2019-03-18
?
慕姐8265434

TA贡献1813条经验 获得超2个赞

多大的并发?多大的数据量?说不定只是sql写的不够优化导致的

查看完整回答
反对 回复 2019-03-18
?
拉莫斯之舞

TA贡献1820条经验 获得超10个赞

  1. 数据库做好索引
  2. 频繁写入的数据建议加消息队列(可以减轻大部分数据库压力,让SQL负载趋于平稳)
  3. php的话FPM配置也优化一下
查看完整回答
反对 回复 2019-03-18
  • 10 回答
  • 0 关注
  • 525 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信