There has been a discussion on this very topic a while ago. You should check the archives.<br>My only solution to this problem was to cut down on the number of gen_tcp:send calls. Buffer the data for a bit and then send it all at once. <br>
<br><br>Sergej<br><br><br><div class="gmail_quote">On Sat, Jul 12, 2008 at 6:59 PM, Mark Geib <<a href="mailto:mark.geib@echostar.com">mark.geib@echostar.com</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;">
I am new to erlang and writing a program to replace an existing Java<br>
program that accepts multiple network tcp connections, upto about 400,<br>
and then also excepts 'receive' connections from clients, again in the<br>
hundrends.. The Java code then re-distributes all the messages from all<br>
the 'source' connections to all the connected clients.<br>
<br>
The Java program is running at about 35% of the machines cpu. When I<br>
tried my first cut of replacing this with erlang I was surprised to find<br>
that the erlang program rapidly consumed the machine and quickly stopped<br>
functioning...<br>
<br>
SO, I have been investigating and find that the erlang message passing<br>
is VERY efficient, but the actual sending of the message to all the<br>
connected clients is a HUGE cpu consumer. In my test case I am<br>
generating about 2000 message / second and without sending the tcp<br>
messages uses about 10% of the test machine. With one client connecting<br>
the cpu usage increases to nearly 100%.<br>
<br>
Is this expected, or is there an option I need to set improve efficiency<br>
of the network writing. The message sizes vary from 2 - 2000 bytes.<br>
<br>
Sorry for the long post.<br>
<br>
Mark.<br>
--<br>
Principal Engineer<br>
Cheyenne Software Engineering<br>
<a href="mailto:mark.geib@echostar.com">mark.geib@echostar.com</a> / 35-215<br>
<br>
_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://www.erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://www.erlang.org/mailman/listinfo/erlang-questions</a><br>
</blockquote></div><br>