Subject Re: Concurreny transaction impact on writers
Author zvjezdan77
--- In firebird-support@yahoogroups.com, Thomas Steinmaurer <ts@...> wrote:
>
> >>> Hi. In highly concurrent environment, part of an app is using .NET RepeatableRead transaction to read data from few tables.
> >>> I noticed that during these reads, writers to these tables experience major slowdown.
> >>> So question is this:
> >>> Does (Concurrency,ReadWrite) (.NET RepeatableRead) has major impact writers?
> >>
> >> I'm not familiar with the .NET driver ...
> >>
> >> * What does "major slowdown" mean?
> >> * Is repeatable read involved for all transactions or read committed as
> >> well?
> >> * If read committed, are you using REC_VERSION or no record versions?
> >> * Do you use WAIT or NO WAIT at transaction level?
> >> * Do you end up with long running transactions? What does gstat -h and
> >> or the monitoring tables say?
> >> * When committing. Do you use commit retaining or "hard" commits?
> >>
> >> More questions than answers ... ;-)
> >>
> >>
> >> --
> >> With regards,
> >> Thomas Steinmaurer
> >> http://www.upscene.com/
> >>
> >> Professional Tools and Services for Firebird
> >> FB TraceManager, IB LogManager, Database Health Check, Tuning etc.
> >>
> > First thank you for your time.
> > It seems that .NET Repeatable read translates to
> > Concurrency, Write, NoWait
> > Id does not specify RecVersion, so it defaults to something.
>
> REC_VERSION / NO_REC_VERSION only applies to read committed isolation level.
>
> > If it defaults to NoRecVersion, then it seems understandable that
> > this transaction possibly waits for concurrent writers to commit, which would explain slow writes and slow execution of this transaction.
> >
> > I need readonly snapshot of few related tables, so i figure that
> > Concurrency, Read, NoWait, RecVersion would be solution.
> >
> > Any opinoon on this?
> > And again, thanks for your time...
>
> Make use of read-only transactions, if you can. Even being read-only,
> read-only long-running repeatable read transactions will block garbage
> collection, so make sure to not keep them open all day long.
>
> Read-only / read committed is the less intrusive combination available
> in Firebird though.
>
>
> --
> With regards,
> Thomas Steinmaurer
> http://www.upscene.com/
>
> Professional Tools and Services for Firebird
> FB TraceManager, IB LogManager, Database Health Check, Tuning etc.
>
Thank you.