由于处理密集型脚本,站点很慢

时间:2011-02-19 21:48:26

标签: hosting cloud

我有一个网站必须抓取不同的网站来汇总信息。当爬网脚本运行时,站点的速度会变慢。我已经做了尽可能多的优化爬行,但它确实是CPU和RAM密集型的。这些爬行必须基于某些用户动作(例如搜索)发生。由于信息是时间敏感的,因此不能“预先爬行”信息。

我可以使用哪些一般策略来解决这个问题?以下是我的两个想法:

  • 在当前服务器上获取更多CPU和RAM
  • 在单独的物理服务器上卸载这些处理密集型脚本

我想知道云计算,但没有任何经验。建议?

2 个答案:

答案 0 :(得分:1)

您已经确定了选项。 “云计算”并不意味着能够通过每小时定价快速分配VPS。这与购买另一台物理服务器相同,除非没有等待主机将其联机并通过电子邮件发送您的访问信息,而且没有每月承诺。您仍然必须编写应用程序以使用多个服务器,您必须根据需要编写代码以“向上扩展”或“缩小”(购买或终止虚拟服务器,并编写代码以自动启动您需要的任何程序) ),你仍然需要妥善管理服务器(安装和维护操作系统,保持软件包更新安全修复程序)等。

答案 1 :(得分:0)

您可以尝试将操作设为异步: -

  1. 用户提交搜索。
  2. 系统显示“系统当前正在根据您的标准搜索信息,您很快就会收到通知”。系统同时处理用户请求。
  3. 由于用户没有等待结果页面,因此用户可以自由浏览或在您的网站上做其他事情,而不是锁定他们的屏幕。
  4. 生成结果时,系统会通知用户搜索已完成,并提供用户查看结果的链接。这可以通过向用户发送电子邮件通知,或者只是弹出对话框或向下滑动菜单栏上的通知消息来完成(基本上是为了引起用户注意)。
  5. 使用单独的计算机运行这些处理密集型脚本是明智的,这样它就不会减慢整个应用程序服务器的速度,尤其是当您有大量用户提交搜索时。