如何快速发送大量的POST请求

use*_*398 4 c++ delphi perl post multithreading

我打算为我们的大学研究开发一个程序,该程序必须向不同的网址发送大量的帖子请求.它必须尽可能快地工作(我们应该处理大约100kk的URL).我使用什么语言(目前我用c ++,delphi和perl编写)?

另外,我听说可以使用prefork在perl中编写一个多线程应用程序,每分钟处理大约20-30k.这是真的吗?

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

安德鲁

Jon*_*art 15

每分钟20-30k是完全随意的.如果你在具有强大网络连接的8核机器上运行它,你可能会超越它.

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

  • 当然,这对大多数网络来说都是I/O限制.很多线程运行大量的DNS查找(众所周知异步不友好),并发送大量的POST似乎是一个很好的计划. (3认同)

men*_*raz 5

Webserver Stress Tool声称能够模拟多达10,000个并发用户生成的HTTP请求,并且在Torry的站点中有一个条目:推测它是用Delphi或C++ Builder编写的.

我的建议:

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

请参阅此页面以获取线索/提示.


编辑:

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

App Client,Server和ISAPI演示可用于使用具有强加密功能的远程功能对RTC组件进行压力测试,方法是从每个客户端打开数百个连接,并通过请求充斥Server/ISAPI.

App Client Demo是在多线程模式下使用多个连接进行压力测试RTC远程功能的理想选择,可以直观地显示实时图形中每个连接的活动和阶段.客户端可以在"代理"和标准连接组件之间进行选择,以查看带宽使用和分配的差异.