【发布时间】:2011-06-09 14:30:43
【问题描述】:
我很快就要从事一个给我带来问题的项目。
这将需要在一天中定期处理数万条记录,可能超过一百万条。处理将涉及几个(可能很复杂)公式和几个随机因素的生成,将一些新数据写入单独的表,并用一些结果更新原始记录。这需要对所有记录进行,理想情况下,每三个小时进行一次。网站的每个新用户都会添加 50 到 500 条需要以这种方式处理的记录,因此这个数字不会稳定。
代码尚未编写,因为我仍在设计过程中,主要是因为这个问题。我知道我将需要使用 cron 作业,但我担心处理这种大小的记录可能会导致网站冻结、运行缓慢,或者每三个小时就惹恼我的托管公司。
我想知道是否有人对类似主题有任何经验或提示?我以前从来没有以这种规模工作过,据我所知,这对服务器来说是微不足道的,不会造成太大的问题。只要在接下来的三个小时之前处理所有记录,我不在乎它们是否没有同时处理(尽管理想情况下,属于特定用户的所有记录都应该在同一批次中处理),所以我'一直想知道我是否应该每 5 分钟、15 分钟、每小时分批处理一次,无论任何可行的方法,以及如何最好地处理这个问题(并以对所有用户公平的方式使其可扩展)?
【问题讨论】:
标签: php mysql database-design optimization cron