对PHP多进程与MySQL的高并发瓶颈是怎么处理-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

对PHP多进程与MySQL的高并发瓶颈是怎么处理

2016-02-08 15:32:56 6290 1

需求
我每天执行一个定时任务,把一个具有千万条数据的日志分割成一些小的日志文件;
然后启动多个PHP进程,分别对这些小日志文件中的每行数据进行处理,处理过程是这样的:每个PHP进程从各自负责的日志文件中逐行读取,然后根据该行中的一个标识去数据库中查找是否有了该记录,如果没有则插入该行,如果已经存在了就更新(该行的数据与数据库中的数据进行合并);
引发的问题
这样就出现了一个问题,就是可能存在多个PHP进程对同一条数据都在做处理,如果用Mysql锁机制可以避免这个问题,但是这样的话,就出现另一个问题,就是MySQL的高并发瓶颈,因为我是多个PHP进程同时在进行,一个进程要等待另一个进程解锁后,才能操作数据库。
这样我前面所做的分割日志、启动多个进程这些操作就失去意义了,因为我在前面做日志分析时,启的进程再多,运行的再快,到最后全都会卡在高并发操作数据库这个瓶颈上,不知道大家对这类问题是怎么处理的?

取消 提交回答
全部回答(1)
  • 蛮大人123
    2019-07-17 18:39:42

    写过类似的东西,像这种需要多次更新同一账号数据的时候,我们的做法是处理完数据后不立即存入mysql,
    而是放在了redis中,后面的数据更新都在redis修改,
    在redis积累了数千条数据后在异步的写一次数据到mysql,效果不错
    卤煮的场景多进程处理建议只负责数据处理,处理完的放redis,在单独用一个脚本定时检测redis
    达到条件的时候(一定条数或时间)存一次数据到mysql

    0 0
相关问答

1

回答

云数据库MySQL中,为什么电商被称为高并发、高性能场景呢?

2022-04-02 07:52:30 435浏览量 回答数 1

1

回答

为解决RDS MySQL高并发场景的问题,我们该如何进行实例调优?

2022-01-04 16:08:19 507浏览量 回答数 1

1

回答

RDS MySQL高并发场景的问题与挑战,主要表现在哪些方面?

2022-01-04 15:58:53 443浏览量 回答数 1

1

回答

为解决MySQL的高并发场景的问题与挑战,需要从哪六个方面进行系统调优?

2021-12-24 15:14:53 187浏览量 回答数 1

1

回答

双11为MySQL带来了高并发场景的问题与挑战,主要表现在哪些方面?

2021-12-24 15:13:40 231浏览量 回答数 1

1

回答

MySQL 在高并发情况下如何做到安全的修改同一行数据?

2021-12-12 21:05:16 328浏览量 回答数 1

1

回答

在MySQL中在高并发情况下,如何做到安全的修改同一行数据?

2021-10-16 21:29:05 870浏览量 回答数 1

1

回答

windows+apache+mysql+php 高并发和apache异常关闭:报错

2020-06-14 09:55:13 511浏览量 回答数 1

1

回答

求MySQL单库在高并发下通过读取数据判断是否写入数据的替代方案?:报错

2020-06-07 20:09:16 409浏览量 回答数 1

1

回答

要做个高并发门户 用pg好还是mysql好? 请大神给点宝贵意见

2019-06-28 14:21:26 3192浏览量 回答数 1
+关注
蛮大人123
我说我不帅他们就打我,还说我虚伪
文章
问答
问答排行榜
最热
最新
相关电子书
更多
复杂PHP系统性能瓶颈排查及优化
立即下载
MySQL高并发场景实战
立即下载
MySQL 5.7让优化更轻松
立即下载