PHP-对于大数据量的处理

小组事务管理 小组事务管理 主题:974 回复:1955

PHP-对于大数据量的处理

清晨说ぺ晚安 发布于 2017-03-24 字数 311 浏览 1197 回复 3

现在有一个自动弹窗的服务,一个监听程序,一个发送程序,用户的动作都被记入表中,根据用户的动作监听程序自动去执行,把消息队列写到为发送表中,发送程序每五分钟执行一次,一次执行两千条,监听程序每两分钟执行一次,但是随着用户量的逐渐增加,数据量越来越大,这两个程序的执行速率都跟不上数据的增长量,请问怎么解决啊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

支持 Markdown 语法,需要帮助?

评论(3

浮生未歇 2017-10-16 3 楼

用户表进行进行sharding,类似用户ID hash一下存储信息,这样就将压力分散到多张表中,减小了些压力,这些表可以在不同的表空间中,利用多块硬盘提高写性能。

虐人心 2017-09-12 2 楼

用户数据量倍增的情况下,这2个程序分别也已逐渐增加进程的方式执行,这样可以缓解上面出现执行速率跟不上数据增长的情况,还有我有点疑问,你上面的两个程序为啥是定时执行,而不是以守护进程的方式实时执行呢?一般这种需求感觉最好弄两个cron,一个cron实时扫描用户动作,一个cron实时扫描消息表;并且随着数据量的增加随之增加相应个进程来处理。

想挽留 2017-05-01 1 楼

首先,我觉得你的表设计有 问题,像你这样的需求应该把消息单独放一个表,定时去扫描消息表就好,扫描过的消息在把它们放到你的大表里面去。定时的监听程序需要处理好各种异常情况,这才是重点。