[erlang-questions] profiling application

jm <>
Fri Mar 16 03:53:07 CET 2007


Can someone please point me to a tutorial on profiling applications in
erlang. I have a small program which takes network usage as flow
records, categories them, adds them to the exiting usage, and commits
the changed record back into a mnesia database. To test it I fire a flow
file at it using flow-cat in combination with flow-send. This process
takes about 3 minutes to do without losing records -  as determined in a
previous test. During this and following it, unix top shows the beam
process using the majority (80%+) of the CPU and the process size
growing to about 200MB. After about 10 minutes the CPU and memory usage
seem relatively unchanged. I have tried to add some optimisations such
as summing the usage in memory and the commiting the changes on a
periodic basis. Still more improvements should be possible though. So...
a couple of questions,


1) How do I determine where the CPU and memory are going, ie where are
the bottle necks?

2) Are there any gotchas with mnesia when using large fast data sets?


thanks in advance,
Jeff.



More information about the erlang-questions mailing list