"yairinbal" <yairinbal@...> wrote:
> I am trying to messure 100 concurrent users:
>
> ./dkftpbench -h192.168.41.37 -n100 -c100 -uftpuser0 -pasdf
-f/home/ftpuser0/FtpFile
>
> I am running RH8
>
> Here is part of the output when DPRINT is enabled:
> countStateChange: user 97, oldstate 1, counts 0 1 99 0 0 0 0 0 ;
> newstate 2, counts 0 0 100 0 0 0 0 0
> Sked::delClient: index 1, m_used 101
> Sked::addClient(0xbffbf740, -318121616)
> waitForEvents: got 100 events
> getNextEvent: fd 102 revents 5 j 99 m_rfds 99
> ftp_client_pipe_t::notifyPollEvent(fd 102, 5): state 0
> ftp_client_pipe_t::notifyPollEvent_cfd(fd 102, 5): state 0, cning 1
> ftp_client_pipe_t::notifyPollEvent_cfd: Connect cfd 102 succeeded
> ftp_client_pipe_t::notifyPollEvent_cfd: fillFrom returns 32?
> ftp_client_pipe_t::notifyPollEvent_cfd: fillFrom returns 32?
> ftp_client_pipe_t::notifyPollEvent: xerr 32
> ftp_client_pipe_t::notifyPollEvent: adding m_cfd 102, events 5
> setMask(102, 5): new mask 5
> ftp_client_pipe_t::notifyPollEvent:notify_app: status 0, dfd_conn 0,
> dfd -1, xerr 32
> robouser97::ftpCmdDone: xerr 32, status 0
> robouser97::ftpCmdDone: xerr 32, aborting ...
>
> I think that poll() returns that all fd's are ready, but read()
> returns 0 bytes.
It seems to think the connection was closed as soon as it
connected. To get more detail, edit nbbio.cc and change
the #if 0 to #if 1. But before you do that:
It's always a good idea to try to find the smallest number of users
that causes a problem. Have you tried fewer users? Does 99 users fail
in the same way? Does 98? etc.
Also, have you followed the suggestions in "System Tuning" in the
dkftpbench doc?
Finally, you might need to set /proc/sys/net/ipv4/tcp_tw_recycle to 1
for large tests.
- Dan