Re: UDP problem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



At 06:29 PM 8/26/02 +0100, Murillo-Garcia Raul wrote:
>  I've got a server
>application running under Windows which reads UDP datagrams and a client
>application running under Linux that sends datagrams. It seems that the more
>datagrams that arrive to the server network interface the less datagrams
>that are read by the application layer. I guess it has something to do with
>data dropping due to queue oveflow but I don't know how to prove this, much
>less how to overcome it.

Which version of Windows, and do you have the source to the "application 
running under Windows"?  Which Linux kernel?  What else have you done to 
determine the bottleneck?

If it were me doing this task, I would make damn sure I had provable 
answers to the following questions:

1)  What was the status return for each of the sendto()/sendmsg() calls in 
the Linux client?
2)  Does a sniffer show that all the UDP packets you think you sent 
actually made it onto the wire?  Were they routed correctly?  Is there any 
switch or router that could be overloaded and thus dropping packets?
3)  What is the frequency of UDP packets?  What is the frequency of 
collisions on the network?
4)  Does the Windows Winsock system see all the UDP packets?  If not, how 
many packets does Winsock see?
5)  How much resource (CPU, memory, disk) does the processing of each UDP 
packet consume?
6)  What is the CPU, memory, and disk loading during the UDP packet storm?
7)  Is the Windows application threaded, and if so what are the threading 
limits?
8)  Is there a resource lock used by the application to serialize access to 
something?  How long is this lock held?
9)  How robust is the error recovery in the application?  Can a single 
request bring the server to its knees?

Once you have determined that all the UDP packets have been delivered to 
the network interface card in the Windows server, you have gone beyond the 
charter of the linux-net mailing list.  Now, if you were to port your 
server code to a Linux box, we might be able to help you by pointing to 
diagnostic and debugging aides available in the Linux networking 
environment.  I have included questions 4-9 as a courtesy.

Satch

-
: send the line "unsubscribe linux-net" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux