寻找在Cron上构建Feed Reader / Aggregator的最佳实践

时间:2009-10-13 15:24:53

标签: php mysql cron aggregate feed

我有一个社交网站,它开始获得一些动力,并且拥有不断扩大的用户群。我们目前允许用户导入他们的博客,flickr和Twitter提要。我们使用php library simplepie来读取提要,然后检查数据库以确保我们没有找到每个找到的提要项的重复条目。如果Feed项是新的,我们将其存储在DB中。每个Feed更新程序都在自己的cron上运行。所以我们有一个用于推特供稿,一个用于flickr,一个用于博客。

我注意到网站变得迟缓,很有可能在cron任务运行时。必须有更好的方法来做到这一点。有什么想法吗?

2 个答案:

答案 0 :(得分:2)

一般的想法很好,我不会改变它。

如果您确定是导致性能问题的cron任务,那么我会在单独的服务器上运行它们。让“批处理服务器”与前端Web服务器分开运行这些类型的作业是一种非常常见的解决方案。

但是,如果不完全确定问题是什么,我就不会采取任何改进措施来提高性能。据我所知,您的数据库架构可能效率非常低。

答案 1 :(得分:1)

Ben James在那里给出了一个很好的观点,你需要100%确定cron的原因。我不会继续购买新服务器,直到你无法优化已有的服务器。

你遇到什么样的迟钝?

  1. 网络延迟?
  2. 数据库延迟?
  3. 常规页面加载响应性较低(前端代码?)
  4. 一切吗?等;
  5. 进行分析,然后在获得所有变量后知道优化的位置。