Mnesia decision table size ....

Vinayak Pawar vinayakapawar@REDACTED
Fri Aug 21 09:21:07 CEST 2009


Hi all,

We're doing load testing of our application that is using Mnesia. Each
request to this application under test typically involves either doing
writes, deletes, or selects in mnesia transaction context. During this
testing, we've observed that mnesia_recover process is creating very very
big decision tables occupying about 1.5 GB of memory. The actual tables
themselves contain less than 10 MB of data.  Can anyone let us know how
these decision table sizes be kept under check?


Here's the information returned by ets:i()

   id                            name                          type
size         mem         owner
-----------------------------------------------------------------------------------------------------------
 393238                mnesia_transient_decision set   3955076 59913208
mnesia_recover
 259255369814    mnesia_transient_decision set   5326849 80702161
mnesia_recover
 608416759878    mnesia_transient_decision set   5118008 77536777
mnesia_recover

P.S.: Transactions are must. We cannot use any of *_dirty context in our
application.

Many thanks

Regards,
Vinayak


More information about the erlang-questions mailing list