Re: performance and timing issues udp socket



"mastermagrath" <mbaxter1@xxxxxxxxxx> wrote:
> Hi all,
>
> I've written a fairly simple tool that essentially creates a new udp
> IO::Socket::INET object.
> A loop is ran which uses print to pass in data sizes between 1 to 1024
> bytes.
> Each increment is separated by a time of X milliseconds so this
> essentially allows selection of number of offered packets per second.
> The main thread creates a simple tk gui interface that allows the user
> to select the byte size and packets per second.
> The gui displays what the (theoretical) throughput should be based on
> the selected byte size * (packets per sec) but also tallys the actual
> number of packets sent and thus the actual throughput.
> As a test bed i simply connect to the loop back address 127.0.0.1 of my
> PC. (yes i use windows!!)
>
> Everything works perfectly up until the user goes above ~30 packets per
> sec. At this point the theoretical and actual throughputs and packets
> per sec start to diverge.
> The actual number of packets sent starts to fall below what the user
> selected (theoretical).
>
> I use Win32::Sleep((1 / $packetspersec) * 1000); in the loop to change
> the increment time to match the user selected packets per sec.

What is the minimum time granularity of Win32::Sleep? If you can't find it
documented, you could test it pretty easily (in the absense of all the
socket code).


>
> Any ideas what the problem might be?
> Also, there seems to be an absolute maximum of around 100 packets per
> sec that is possible.

Then is sounds like that is probably the minimim granularity of
Win32::Sleep.

Xho

--
-------------------- http://NewsReader.Com/ --------------------
Usenet Newsgroup Service $9.95/Month 30GB
.



Relevant Pages

  • performance and timing issues udp socket
    ... essentially allows selection of number of offered packets per second. ... The gui displays what the throughput should be based on ... As a test bed i simply connect to the loop back address 127.0.0.1 of my ...
    (comp.lang.perl.misc)
  • Re: Right Interface - Wrong IP
    ... selection is done before the packet enters the OUTPUT chains and can be marked. ... Netfilter OUTPUT hooks are traversed (packets are marked with 80) ... Routing decision made again, going into table web ... OUTPUT and POSTROUTING, not after POSTROUTING. ...
    (comp.os.linux.networking)
  • Re: Asynchronous UDP Sockets ~ No Read events!
    ... > WSAEnumNetworkEvents(s, hEvent, &NetworkEvents); ... > // There is some logic here to exit the loop when necessary that is ... > As the comments above say, the FD_CONNECT and FD_WRITE events fire. ... > It only doesn't fire when packets arrive from another computer. ...
    (microsoft.public.win32.programmer.networks)
  • Re: NIC question: Via-Rhine (D-Link VT86C100A) full duplex?
    ... 'man mii-tool' and some second thoughts seem to be in ... if your goal is mainly to increase throughput of large files than jumbo ... you set your frames to. ... Your packets are still going to get chopped up to ...
    (alt.os.linux)
  • Re: Need for speedy cryptography
    ... I could image, for instance, that in networks routers need a certain ... decryption routines in order to meet throughput. ... encrypt/decrypt packets in transit. ... for bulk encryption. ...
    (sci.crypt)