linyacool / WebServer

A C++ High Performance Web Server

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

wenbench测试问题

maoni99999 opened this issue · comments

您好,想请问下您在运行./WebServer的时候出现问题了吗?
set socket non block failed: Bad file descriptor
已放弃 (核心已转储)
这是我出现的问题

commented

你好,我运行你写的./webbench -c 100 -t 30 http://127.0.0.1/结果显示成功0次,失败0次,是我测试的方法不对吗

是统计的问题,因为没有-f,所以会一直会读取服务端的报文,问题是服务端只是一个web server,应答完GET命令后不会再主动发报文,也就是说子进程一直都在运行中,尚未结束,所以成功0次,失败0次。

您好,webbench 长连接测试的时候会卡住一直得不到结果

commented

你测试时的命令是什么?

你测试时的命令是什么?
./webbench -c 2000 -t 5 -k -2 http://127.0.0.1:8888/

commented

你测试时的命令是什么?
./webbench -c 2000 -t 5 -k -2 http://127.0.0.1:8888/

  1. 先确认index.html文件存在,curl 127.0.0.1:8888 不报NOT FOUND。
  2. 或者执行 ./webbench -c 2000 -t 5 -k -2 http://127.0.0.1:8888/hello 可以绕过这个问题
  3. 当访问的资源不存在时,服务端关闭连接,webbench子进程收到SIGPIP,默认处理是退出。此时webbench主进程将一直等待子进程的统计信息,从而出现“卡住”的现象。
commented

你测试时的命令是什么?
./webbench -c 2000 -t 5 -k -2 http://127.0.0.1:8888/

  1. 先确认index.html文件存在,curl 127.0.0.1:8888 不报NOT FOUND。
  2. 或者执行 ./webbench -c 2000 -t 5 -k -2 http://127.0.0.1:8888/hello 可以绕过这个问题
  3. 当访问的资源不存在时,服务端关闭连接,webbench子进程收到SIGPIP,默认处理是退出。此时webbench主进程将一直等待子进程的统计信息,从而出现“卡住”的现象。

我在测试长连接的时候也出现了这种卡住的问题。
我的指令是./webbench -c 5000 -t 60 -k -2 http://10.198.53.142:80/hello 以及./webbench -c 5000 -t 60 -k -2 http://10.198.53.142:80/。两个都不行
本地index.html是存在的,访问资源也是有的,我用ps aux查看webbench发现了大量的僵尸进程,这是server的原因吗,我客户端开的是5000而作者是1000,我之前测1000不会卡住,是我机器配置导致的server性能不足吗,还是什么原因呢?