views:

40

answers:

3

Which InnoDB isolation level should be used with Moodle 1.9.X. The default is REPEATABLE READ, is it save, however, to use READ COMMITTED for better performace?

+1  A: 

You wont get a sensible answer.... without.... getting.... more detailed. This REALLY depends no the usage of the database - you may even MIX them. Read only fast transactions in a web application, for example...

  • you only read, no write when creating the form
  • you dont need repeatable read, as you only load drop downs (as example) => no need for more isolation than ReadCommited.

OTOH if you do complex processing, and updates, then ReadCommited may not be good enough.

I have seen application using multiple different levels in different parts.

TomTom
The application is the e-learning platform, which is not typical web app. since it is doing pretty a lot of inserts/updates, very often to one or more table. The real question is if Moodle is written in such a way to enable save usage of READ COMMITTED or not.
Piotr Kochański
But that is a question only the developers (of Moodle) can answer. As you use a third party, I strongly suggest NOT going away a single step from the documented setup.
TomTom
A: 

What you might want to do is some profiling.

Download and install XDebug, a PHP extension for tracing and profiling PHP functions. More details about the Xdebug profiler are available here.

With Xdebug, it's really easy to find bottlenecks and to understand how much a function or an operation is heavy for both memory and CPU.

Play with the parameters, try different settings and profile!

Also, please share the results with the Moodle community.

Roberto Aloi
+1  A: 

Moodle will run on myisam, so the answer is 'probably yes, but it is probably easier to increase performance through other means and getting support with other issues on moodle.org may be harder once you do this.'

corprew