解决webbench在运行时出现卡住的情况
发布时间
阅读量:
阅读量
问题描述:
当对连接设置引入超时机制后,在执行压力测试的过程中可能会导致长时间无响应现象显著出现。当在本地webserver上运行压力测试时,偶尔会出现响应缓慢的情况且无法获取结果。而在使用webbench进行的压力测试中,则通常能够在合理时间内完成预期操作。
如下图

必须要ctrl+c终止。
github上也有这样的问题
长连接问题 · Issue #31 · linyacool/WebServer
解决思路:
找到可能被卡住的地方
在测试阶段对代码进行了优化,并输出结果;同时观察在每次运行1000个子进程中被阻塞进程的数量。
1:代码健壮性增加:从while (s = Socket(host, port) == -1){}; 修改为
只要timerexpired不等于0且尝试建立socket返回-1,
为了避免无限重复尝试创建socket而导致持续失败,
并未注意到超时时钟触发后已将timerexpired设置为1。
**测试
全部评论 (0)
还没有任何评论哟~
