-2

当一个网络爬虫是用 PHP 编写的(运行 nginx、ubuntu),并且我们希望有很多爬虫一次爬取多个不同的站点,那么限制因素是什么?

CPU、RAM 还是磁盘 IO?

4

1 回答 1

1

RAM 和磁盘 IO 可能会在 CPU 之前很久就受到限制,具体取决于您同时运行的进程的数量。每个爬虫可能会维护一个访问过的 URL 和找到的资源的关联数组。对于大型网站,这将是......很大,特别是如果您允许每个 URL 使用 4k 并将其存储为原始数据。

您可能会散列 URL(40 字节 GUID,或更小的二进制表示),以便/可以节省大量 RAM。

尽可能避免磁盘 I/O,仅在绝对必要时才写入以减轻其影响,并考虑写入数据库而不是写入可能是网络挂载的磁盘文件。

于 2013-03-14T21:05:29.920 回答