
On Sun, Nov 28, 2010 at 11:09 PM, Rene Rivera <grafikrobot@gmail.com> wrote:
On 11/28/2010 7:45 AM, Jim Bell wrote:
On 1:59 PM, Dean Michael Berris wrote:
This is inherent in SQLite because it's designed to be a single-threaded embedded database. If there's an option to use BDB, PostgreSQL, or MySQL as the backing store, we can avoid this database locking issue.
The idea of switching to MySQL is something I've been investigating this past week (when I've gotten a chance from work) and it's not something that can be done easily, AFAICT. It essentially boils down to exporting, editing SQL, importing, and crossing fingers that Trac understands the new data.
Interesting. There's no tool or tutorial that comes with the MySQL storage module for Trac? I'd imagine someone's already done a migration tool for that. I'll Google around a bit to see if I can find anything in that line.
Can we tune SQLite?
I've found big performance improvements with some of these pragmas... PRAGMA journal_mode = OFF; PRAGMA synchronous = OFF; PRAGMA cache_size = 20000; PRAGMA locking_mode = EXCLUSIVE; PRAGMA temp_store = MEMORY;
You have to have enough control to run them every time the library initializes. And, of course, understand their consequences. <http://sqlite.org/pragma.html>
Not sure we have that control since it's inside Trac code. One item that the performance measurements have brought is that slowest part is the Trac code browser. So one possible option is to disable just the browser component to see if things improve. Of course the drawback of that is loosing that functionality. Which is rather convenient.. But isn't something we can't get with other tools, like the direct web access SVN provides and things like TSVN.
I like the idea of disabling the code browser. I can just imagine Google or a non-compliant spider crawling that and unintentionally causing a DoS of the server. ;) Is there a way for us to put Google Analytics on each page of Trac? That way we can see which pages are actually visited by people. I'm not very familiar with the template system but maybe someone else has already done a Trac module for putting Google Analytics in. I'll Google around some to see if I can find anything to this effect. -- Dean Michael Berris deanberris.com