The Unbearable Slowness of Some disc_only_copies Transactions

adam aduston@REDACTED
Tue Dec 8 00:02:20 CET 2009


Not sure if this will help anyone else, but there are two parts to the
solution I used for this:

1) Use +A [Num threads] with erl to increase the number of
asynchronous threads for IO. (Thanks to Valentin Micic for this one)
2) If using a file store like EBS, distribute the database across
several EBS volumes.

Adam

On Dec 2, 10:24 pm, adam <adus...@REDACTED> wrote:
> We have running Erlang code that is executing about 30 transactions
> per second. Each transaction puts a write lock on a couple of records,
> then performs a read and a write. We need to hold several hundred
> million records simultaneously.
>
> When using disc_copies tables, we can easily manage to run about 160
> transactions per second. We also see that each transaction takes an
> average of about 750-1400 microseconds to run. Min time is 350
> microseconds, and max time seems to go between 30-100 milliseconds.
>
> However, with disc_only_copies tables, individual transaction time
> ranges between 500 microseconds up to about 90 seconds(!). Why do
> individual transactions sometimes take such a long time with
> disc_only_copies?
>
> Thank you!
> Adam
>
> ________________________________________________________________
> erlang-questions mailing list. Seehttp://www.erlang.org/faq.html
> erlang-questions (at) erlang.org


More information about the erlang-questions mailing list