Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AWS和Python线程可伸缩性_Python_Multithreading_Amazon Web Services - Fatal编程技术网

AWS和Python线程可伸缩性

AWS和Python线程可伸缩性,python,multithreading,amazon-web-services,Python,Multithreading,Amazon Web Services,我有一个在本地服务器上运行的服务,使用library编写。把它想象成一种网络爬虫。它使用50个线程。我想在云上部署它并扩大它的规模,这样它就可以使用更多的线程 简单地说,我有两个:Qinput带有URL和Qoutput带有页面内容。线程从Qinput中选取URL,获取网页内容并将其放入Qoutput 问:我只是简单地将线程数量增加到500、5000或50000,AWS+Python就能处理它,这就足够了吗?在AWS上移植多线程服务时,我是否应该期望该服务无缝运行,或者应该注意一些“标准”设计陷阱

我有一个在本地服务器上运行的服务,使用library编写。把它想象成一种网络爬虫。它使用50个线程。我想在云上部署它并扩大它的规模,这样它就可以使用更多的线程

简单地说,我有两个:
Qinput
带有URL和
Qoutput
带有页面内容。线程从
Qinput
中选取URL,获取网页内容并将其放入
Qoutput

问:我只是简单地将线程数量增加到500、5000或50000,AWS+Python就能处理它,这就足够了吗?在AWS上移植多线程服务时,我是否应该期望该服务无缝运行,或者应该注意一些“标准”设计陷阱


我知道,虽然这在这里不应该是一个问题,因为线程的主要任务是在抓取/抓取页面时在解释器外部调用。您可能能够在您的实例中生成大量线程,尤其是在您需要的情况下。但是额外线程的回报会减少,直到它不再帮助您获得更高的性能

但是,如果希望系统的扩展超出单个实例的限制,则最好能够在多个实例上运行系统。那么你的决定只是操作性的,而不是技术性的。我认为,如果您是在AWS环境中运行的,它允许您使用几乎无穷无尽的操作资源,那么您应该考虑它


您还可以签出,这基本上是一个分布式队列系统。它将允许您根据需要同步任意多个实例的工作。

任何单个实例都有其限制。您可能能够在您的实例中生成大量线程,尤其是在您需要的情况下。但是额外线程的回报会减少,直到它不再帮助您获得更高的性能

但是,如果希望系统的扩展超出单个实例的限制,则最好能够在多个实例上运行系统。那么你的决定只是操作性的,而不是技术性的。我认为,如果您是在AWS环境中运行的,它允许您使用几乎无穷无尽的操作资源,那么您应该考虑它

您还可以签出,这基本上是一个分布式队列系统。它将允许您根据需要同步多个实例的工作。

您可以看到我理解的线程增加与性能没有直接关系的内容和方式。您可以看到我理解的线程增加与性能没有直接关系的内容和方式。