C++ 如何快速发送大量POST请求

C++ 如何快速发送大量POST请求,c++,multithreading,perl,delphi,post,C++,Multithreading,Perl,Delphi,Post,我计划为我们的大学研究开发一个程序,该程序必须向不同的URL发送大量post请求。它必须尽可能快地工作(我们应该处理大约100kk的URL)。我用什么语言(我现在用C++,Delphi和Perl编写)? 另外,我听说可以用perl编写一个多线程应用程序,使用prefork,每分钟可以处理20-30k的数据。这是真的吗 //对不起,我的英语不好,但这似乎是我能得到正确答案的唯一地方 安德鲁每分钟20-30k完全是任意的。如果你在一台8核机器上运行它,并且有一个强大的网络连接,你可能会超过它 然而,

我计划为我们的大学研究开发一个程序,该程序必须向不同的URL发送大量post请求。它必须尽可能快地工作(我们应该处理大约100kk的URL)。我用什么语言(我现在用C++,Delphi和Perl编写)? 另外,我听说可以用perl编写一个多线程应用程序,使用prefork,每分钟可以处理20-30k的数据。这是真的吗

//对不起,我的英语不好,但这似乎是我能得到正确答案的唯一地方


安德鲁

每分钟20-30k完全是任意的。如果你在一台8核机器上运行它,并且有一个强大的网络连接,你可能会超过它


然而,我认为您对编程语言/库的选择在这里并不重要。相反,您将遇到计算机允许的并发TCP连接数,以及链路本身的带宽。

我听说Erlang非常适合此类应用程序,因为在Erlang中快速生成许多进程非常有效。但我认为使用Python也可以,只需使用popen模块生成多个进程。 毕竟,根据机器拥有的处理器数量,您在同一时间可以运行的处理器数量是有限的。语言的选择可能并不重要,这取决于您对从这些URL下载的数据所做的操作,因为这可能比生成的成本更需要处理。

声称能够模拟多达10000个同时用户生成的HTTP请求,,并且在中有一个条目:可能是编写的在Delphi或C++ Builder中 我的建议:

您可以使用Delphi编写自定义压力工具(HTTP(S)客户端)(它恰好是我最喜欢的语言,所以我提倡使用它),使用轻型HTTP(S)库(如和)进行多线程处理

请参见此以获取线索/提示


编辑:

摘自RealThinClient_SDK331.zip中的Demos\Readme_Demos.txt

应用程序客户端、服务器和ISAPI演示可用于对RTC进行压力测试 组件使用远程功能,通过打开强加密 来自每个客户机的数百个连接,并淹没 带有请求的服务器/ISAPI

应用程序客户端演示非常适合使用 多线程模式下的多个连接,直观地显示活动 并在活动图中为每个连接设置阶段。客户可以选择 在“代理”和标准连接组件之间,查看 带宽使用和分布的差异


您可能只需要破解apacheab代码就可以完成这项任务。或者你可以同时运行多个ab。这是工具手册页:你是说100M URL还是100kk只是一个输入错误?你可以用它在支持ISAPI的Web服务器上开发一个应用程序ISAPI扩展来实现这一点。@RobertMassaioli谢谢,我会试试。@menjaraz是的,1亿。也谢谢你毕竟,你在同一时间可以运行的数量是有限的,这取决于你的机器有多少个处理器。”-这个应用程序很可能是I/O受限的,即使只有一个CPU,所以很多线程可以同时运行大量对大量URL的POST请求。+1当然,在大多数网络上,这将是I/O受限的。运行大量DNS查找(众所周知异步不友好)和发送大量帖子的大量线程似乎是一个不错的计划。