2

我现在的情况比较特殊。长话短说,我是一个(现实生活中)大约 2000 名成员的志愿者组织的一员。我们当前的网站是由不再属于该组织的成员(他退出)建立和维护的。不幸的是,他是唯一真正可以访问服务器的人,并且在他离开后一直没有合作将统治权移交给其他人。结果,我和一小群人一直致力于从头开始为自己创建一个新网站。原始网站上的数据对于新网站来说会很棒,因此在没有直接访问数据库的情况下,我们一直在屏幕抓取我们需要的东西。

这让我想到了我目前的难题。我使用的屏幕抓取脚本非常慢,所以我有一个绝妙的(不是)并行化它的想法。我认为瓶颈是由于我的网速慢造成的,所以我愚蠢地决定一次运行 250 个线程。在我尝试之后,网络服务器神秘地关闭了,此后一直没有上升(现在已经大约 30 分钟)。

我不是任何类型的黑客或安全专家,但我很确定我只是不小心对服务器造成了拒绝服务攻击。这让我想到了我的问题——假设网站的所有者对我们没有任何帮助,服务器会自动恢复生命吗?(如果重要的话,它由 Django 在 Linode 上托管)。网站通常如何从 DoS 攻击中恢复?我是否可能误诊了正在发生的事情,是否有其他解释?还是该网站永远丢失了?

编辑:如果有任何改变,所有 250 个请求都是简单的 http 请求,它们会转到 Django 管理面板中的页面。

4

2 回答 2

1

系统很可能并没有真正永久关闭,除非该人可能已经生气或托管服务提供商等由于流量负载而将其禁用。但是有很多事情需要考虑。但是 250 个连接并没有那么大的负载,即使对于共享主机帐户也是如此,除非您只是用请求淹没服务器。

根据所使用的技术,有许多“可能”发生的事情。

  1. 您可以简单地在网络服务器端达到排队等限制,这可能需要重新启动应用程序。这可能会在一段时间后自动发生,也可能需要托管服务提供商的干预。
  2. 您可能使应用程序超载,并让它在被强制关闭的情况下使用过多的内存。一些托管服务提供商会这样做,但通常会在小时间窗口内提供服务,并允许应用程序启动备份。(给它一个小时左右)
  3. 您本可以将其推高到每月的带宽限制之上,在这种情况下,它可能会下降到下一个计费周期...

在不知道托管服务提供商或环境的情况下,这些只是猜测。

我强烈建议关闭你的刮刀!

于 2011-10-26T22:18:13.113 回答
0

如果你还没有停止你的屏幕抓取软件,你应该停止。

根据系统的哪个部分出现故障(数据库、服务器、网络或全部),当负载恢复时,它有可能自行恢复。

如果您的应用程序无法同时支持 250 个连接,您将需要调查原因。罪魁祸首通常是数据库负载(没有索引,未优化的查询)。

Linode 也可能有限制,以限制在特定时间段内可以使用多少带宽。您可能应该联系他们(或负责人)。

于 2011-10-26T22:12:56.880 回答