[Mono-devel-list] UDP 40%+ loss

marcusmonaghan at f2s.com marcusmonaghan at f2s.com
Tue Apr 5 14:32:52 EDT 2005


Sunny,

That's what I'm going to look into next. First I wanted to see if there was a
way of upping the buffer at an OS level. I did some research and found that by
default Suse sets the receive buffer to 112640 (and this gets doubled to
225280). Which really isn't a lot. I have up'd this and seen improved
performance.

The next thing I'm going to do is look into queues. If I was going to do this on
Windows I would probably put it into a MSMQ. Do you or anyone else know of
something I can use under linux?

Regards,
Marcus

Quoting Sunny <sloncho at gmail.com>:

> On Apr 4, 2005 4:39 PM, marcusmonaghan at f2s.com <marcusmonaghan at f2s.com>
> wrote:
> > Some more information:
> >
> > It seems my testing was slightly incorrect. I still think there is a
> problem but
> > not with mono. When I did my initial testing I used a program on one
> machine to
> > send 51000 messages on a broadcast group. I then had two programs running,
> the
> > first was the C program and the second was the c# program. When I checked
> the
> > results I checked the output of the C program (the file that was generated)
> and
> > the count of messages generated by the c# program. I accidentally checked
> the
> > input file instead of the output file and thus thought the C program wasn't
> > missing any messages. However, after running the test several more times I
> have
> > discovered that the C program is actually missing data, probably more data
> than
> > the c# program. This is to be expected as the C program is doing a lot more
> > work. So I think I can safely say that c# and mono on linux is just as bad
> as C
> > :)
> >
> > However, the interesting thing is that running the same C program on
> Unixware
> > (and i'm doubly sure) doesn't miss a message. Infact on Unixware it seems
> to
> > buffer the messages automatically. I can see that when the sending process
> > finishes the C program is still receiving and keeps receiving for about
> 1min
> > 45secs.
> >
> > So I'm off to investigate the differences between Linux (Suse 9.2 Pro) and
> > Unixware.
> >
> > Thanks Jason for replying!!
> >
> > Kind regards,
> > Marcus
>
> Hi Marcus,
> If I had to deal with it, I'll put all the processing in a separate
> thread, or will use async invocation (using the thread pool to save
> cycles not creating my own threads) to deal with the input, thus
> freeing the receiving loop only to get the data.
>
> Sunny
> --
> Get Firefox
> http://www.spreadfirefox.com/?q=affiliates&id=10745&t=85
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>


Regards,
Marcus



More information about the Mono-devel-list mailing list