All data goes through nginx which acts as a proxy. Its CPU consumption is never over 1%.<br><br><br>Sergej<br><br><div class="gmail_quote">On Thu, Jun 19, 2008 at 9:35 PM, Javier París Fernández <<a href="mailto:javierparis@udc.es">javierparis@udc.es</a>> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
El 19/06/2008, a las 20:06, Rapsey escribió:<div class="Ih2E3d"><br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
It loops from another module, that way I can update the code at any time without disrupting anything.<br>
The packets are generally a few hundred bytes big, except keyframes which tend to be in the kB range. I haven't tried looking with wireshark.  Still it seems a bit odd that a large CPU consumption would be the symptom. The traffic is strictly one way. Either someone is sending the stream or receiving it.<br>

The transmit could of course be written with a passive receive, but the code would be significantly uglier. I'm sure someone here knows if setting {active, once} every packet is CPU intensive or not.<br>
It seems the workings of gen_tcp is quite platform dependent. If I run the code in windows, sending more than 128 bytes per gen_tcp call significantly decreases network output.<br>
Oh and I forgot to mention I use R12B-3.<br>
</blockquote>
<br></div>
Hi,<br>
<br>
Without being an expert.<br>
<br>
200-300 mb/s  in small (hundreds of bytes) packets means a *lot* of system calls if you are doing a gen_tcp:send for each one. If you buffer 3 packets, you are reducing that by a factor of 3 :). I'd try to do an small test doing the same thing in C and compare the results. I think it will also eat a lot of CPU.<br>

<br>
About the proxy CPU... I'm a bit lost about it, but speculating wildly it is possible that the time spent doing the system calls that gen_tcp is doing is added to the proxy CPU process.<br>
<br>
Regards.</blockquote></div><br>