>>> 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.
