TCP,HTTP和多线程甜点

时间:2010-03-09 15:56:51

标签: perl multithreading http tcp network-programming

1 个答案:

答案 0 :(得分:7)

请更正我的摘要不正确:

  • 您的multi-threaded客户端将启动一个连接到服务器的线程,只发出一个HTTP GET然后该线程关闭。
  • 当你说1,2,5,10,50个线程时,你只是指你允许的并发线程数,每个线程本身只处理一个请求
  • 您的客户需要2至5分钟才能下载超过1000张图片
  • Firefox和Opera将在40秒内下载一个等效的数据集

我建议服务器通过网络服务器守护程序本身,服务器本地防火墙或最可能的专用防火墙来限制http连接。

您实际上是滥用网络服务而不是为多个请求重复使用HTTP连接,并且您遇到的超时是因为SYN FLOOD被限制。

Firefox和Opera可能会使用4到8个连接来下载所有文件。

如果重新设计代码以重新使用连接,则应达到类似的性能。