首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >插座压力测试

插座压力测试
EN

Stack Overflow用户
提问于 2012-06-20 22:51:51
回答 2查看 1.3K关注 0票数 1

什么会更好地泛洪网络?

1-打开到http web服务器的一个套接字,并写入数据,直到崩溃

2-打开多个套接字并写入数据,直到崩溃

3-打开套接字并发送tcp数据包,直到崩溃

4-打开多个套接字并发送tcp数据包,直到崩溃?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-21 01:40:58

听起来您想要做的是测试web服务器对各种类型的拒绝服务攻击的反应。

需要考虑的是什么是web服务器中的拒绝服务逻辑,以及如何在web服务器中典型地实现拒绝服务保护。例如,是否存在逻辑来限制并发连接的数量或来自同一IP的并发连接的数量,或者监视业务量,以便在业务量超过某个阈值时对其进行节流或断开连接。

需要考虑的一件事是,不要仅仅通过TCP/IP套接字推送大量字节。web服务器正在解释这些字节,并期望使用HTTP协议。那么,如果您对HTTP协议以及构建在HTTP上的其他协议做了一些奇怪和不寻常的事情,会发生什么呢?

对于选项3和4,您似乎正在考虑绕过TCP/IP堆栈的窗口逻辑,只发送TCP协议数据包流,忽略应答数据包,直到有什么东西冒烟为止。这将更多地测试服务器上的TCP堆栈健壮性,而不是web服务器本身的健壮性。

票数 3
EN

Stack Overflow用户

发布于 2012-06-21 01:26:14

达到网络饱和的能力取决于网络条件。有可能以这样一种方式编写您的“泛洪程序”,它会减慢您的速度,因为您会导致中间设备丢弃数据包,并且服务器本身最终看不到它的最大负载。

您的应用程序应该从一个连接开始,并监控数据速率。如果所有连接的聚合数据速率继续上升,则继续添加连接。一旦它不再上升,您就达到了吞吐量限制。如果它开始下降,则表明您超出了系统的容量,或者导致拥塞控制生效,或者服务器无法有效地处理那么多连接。如果吞吐量限制远低于您的预期,那么您可能需要调试您的网络,或者调整您的TCP/套接字参数。如果是服务器变慢了,则需要对其进行分析,以了解其无法处理连接负载的原因。

此外,检查每个连接的数据速率,并查看某些连接是否比其他连接快得多。如果发生这种情况,那么服务器就有一个公平性问题,也应该解决。然而,这与服务器和网络性能关系不大,因为它与良好的用户体验有关。此问题的存在可在拒绝服务攻击中被利用。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11122230

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档