大并发下的php+mysql

hu3166
  • 1
新手上路,请多包涵

现在架构是php+mysql,在大并发下根本抗不住,加了redis缓存只能解决部分问题,还有很多实时的数据不能缓存起来的,有没有一个好的解决方案呢。打算拆分业务了,但是最终还是会遇到mysql扛不住的问题,烦恼

回复
阅读 3.9k
11 个回答

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

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

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

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

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

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

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

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

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

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

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

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

redis mangodb这些都可以用上。

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

  1. 数据库做好索引
  2. 频繁写入的数据建议加消息队列(可以减轻大部分数据库压力,让SQL负载趋于平稳)
  3. php的话FPM配置也优化一下
宣传栏