|
|
1
5
这听起来像是一个体系结构问题。为什么你需要同时提出数千个请求?这种Parellism会有什么好处吗,或者你只是无意中做了一些错误的DoS(拒绝服务),怀疑Web服务/API? 假设您不是在敲打单个远程服务器,您仍然需要担心本地设备可以处理多少连接。只有这么多的端口可以使用传出端口,它们的测量值是以低数万计的。如果你想打开连接,就不难达到这个极限。任何使用Apachebench进行过载测试的人都知道这一点。 对于这种事情,PHP不是一个很好的工具——我是一个90%使用PHP的人。没有线程,而且内存很密集。如果您希望1000个PHP进程并行,则需要多台机器。您典型的PHP进程将消耗大约10-20兆内存,除非您调优它(可能在编译时)。 你说这种情况一年发生一次。这让我觉得可能没有必要这么做。如果你只有24或36个并行进程呢? 也就是说,我可能会这样做。PHP可能会很好地工作,如果遇到内存效率低下的问题,您可以只交换一部分。您需要两个或更多或更少的异步队列,以及一对处理它们的进程:
|
|
|
2
1
退房 Rolling Curl . 我用它从多个网页中提取链接和网页内容。我不知道这在服务器上如何工作,因为我只在本地机器上有经验。 |
|
|
3
1
Timdev提出的所有建议都用斑马卷发包裹起来了。 https://github.com/stefangabos/Zebra_cURL . 您可以传递一个URL数组,它会将一些(默认值为10)并行排队,然后调用它们并将结果对象传递到回调中。从Github文档:
它的内存使用速度非常快而且很好 |
|
|
4
0
没有足够的信息。每个连接将使用多少带宽?除非它只有几个字节,否则您将阻塞大多数连接,同时打开许多套接字。即使你的账户被封顶了,你的1000个插座的想法也会变得毫无意义。为什么你不能打开100个插座,一个接一个地循环呢?这个很快 |
|
|
elegant dice · libcurl的适当超时 8 年前 |
|
|
cucucool · 如何将向量发布到HTTP端点 8 年前 |
|
|
fgalan · 为什么现代卷曲版本会切断URL的#锚定部分? 8 年前 |
|
|
Andre · libcurl不发送json数据 8 年前 |