1

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

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

4

2 回答 2

2

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

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

但我不会在完全确定问题所在的情况下进行任何更改以提高性能。据我所知,您的数据库架构可能非常低效。

于 2009-10-13T15:30:16.400 回答
1

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

你经历过什么样的迟钝?

  1. 网络延迟?
  2. 数据库延迟?
  3. 一般页面加载响应速度较慢(前端代码?)
  4. 一切?ETC;

做一个分析,然后知道在哪里优化,一旦你有了所有的变量。

于 2009-10-13T19:40:24.103 回答