[erlang-questions] Test the system bottlenecks

37 views
Skip to first unread message

Solomon

unread,
Sep 17, 2012, 6:38:13 AM9/17/12
to erlang-q...@erlang.org
I test a web server run on a 24-core server. When server get a message, it would read/write mnesia and return a message to client. All of the mnesia tables are ram_copies and disc_copies.
I do a stress test and found that the heighest value of cpu load is only 900%, I get I/O load by iostat and it is idle, so I guess the system bottleneck is mnesia, but I found the reductions counter of mnesia's process are low.
Is my guess right?

Gleb Peregud

unread,
Sep 17, 2012, 10:11:14 AM9/17/12
to Solomon, erlang-q...@erlang.org
It is hard to answer with so little information. Few notes:
- Mnesia is a very complex piece of software - there is very many
processes and ETS tables. Both of them might be a serial bottleneck.
And some serializing process/ets can be short lived.
- If you use transactions for reads and writes, you are doing
serialization of all operations, hence low CPU usage is an obvious
result of this
- If you are doing dirty operations, there might be some other locks
which are being contented. Try recompiling erlang with lock counter
enabled and taking a look at results.
> _______________________________________________
> erlang-questions mailing list
> erlang-q...@erlang.org
> http://erlang.org/mailman/listinfo/erlang-questions
>
_______________________________________________
erlang-questions mailing list
erlang-q...@erlang.org
http://erlang.org/mailman/listinfo/erlang-questions
Reply all
Reply to author
Forward
0 new messages