[erlang-questions] My frustration with Erlang

Edwin Fine <>
Fri Sep 12 21:08:31 CEST 2008


I'd be interested in seeing the output of  vmstat over a period of time.
Because only 3 of the 8 CPUs are being used, it sounds as if either the app
is suffering from some sort of lock contention, or is I/O bound. If it's IO
bound, then putting the database tables on heavily-memory-cached RAID or SAN
hardware like EMC could make a huge difference. I know that probably doesn't
help because if you're like most people, you don't have the megabucks one
needs for such a device. However, maybe a lower-end (but still fast) RAID
would be useful.

Is there any way you could run the app for 15 minutes under full load and
capture the system performance using vmstat?

Ed

On Fri, Sep 12, 2008 at 1:41 PM, Joel Reymont <> wrote:

>
> On Sep 12, 2008, at 5:35 PM, Hynek Vychodil wrote:
>
> > It not seems as good as I realize from your previous messages. It
> > looks like you can get less than 1kreq/s.
>
> Right.
>
> > I don't know if it is load which you can manage for example 5,
> > 10, ... minutes.
>
> Yes and no, see below.
>
> > You can serve 15k concurrent players. Sound it still to much bad for
> > you?
>
> 15K concurrent players would be excellent. The stats I posted before
> don't paint the full picture, though. The part that I didn't post
> looks like this...
>
> Simulating gameplay with 1000 games...
> Waiting for games to end...
> 50 games started, 262 players
> 100 games started, 504 players
> ...
> 950 games started, 4777 players
> 1000 games started, 5066 players
>
> 4 Mnesia overloaded error reports
>
> =ERROR REPORT x 4==== 12-Sep-2008::16:34:40 ===
> Mnesia(''): ** WARNING ** Mnesia is overloaded: {dump_log,
>
> write_threshold}
>
> And 11 more
>
> =ERROR REPORT x 11 ==== 12-Sep-2008::16:34:44 ===
> Mnesia(''): ** WARNING ** Mnesia is overloaded: {dump_log,
>
> write_threshold}
>
> And then the real bummer, a whole lot of these:
>
> =ERROR REPORT ==== 12-Sep-2008::16:35:01 ===
> ** State machine <0.9390.0> terminating
> ** Last timer event in was 'CHECK'
> ** When State == dispatch
> ...
> ** Reason for termination =
> ** {timeout,{gen_server,call,[<0.9391.0>,{'SEATS',119}]}}
>
> The above says that even with just 5K players the card game FSM times
> out when requesting seats matching a certain mask, e.g. the reply
> takes longer than 5 seconds. The game bombs out at this point.
>
> I could increase the timeout or make the call just wait forever. I
> don't want to do this, though, as this timeout serves as a performance
> indicator.
>
>        Thanks, Joel
>
> --
> wagerlabs.com
>
> _______________________________________________
> erlang-questions mailing list
> 
> http://www.erlang.org/mailman/listinfo/erlang-questions
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20080912/2cf277f6/attachment.html>


More information about the erlang-questions mailing list