Hi,
SQLite version 3.7.7.1 2011-06-28 17:39:05

Problem -

I have a sqlite database for monitored data on an embedded linux ARM
processor.
There are many writing processes and two reading processes (one to handle
SNMP queries, one to handle Web UI monitoring queries)
The database is stored in a tmpfs filesystem and we were having various
performance issues which looked like locking problems on the database. Also
some of the writes were taking a long time.
The architecture is such that the writers have deadlines and the readers do
not (and run at relatively low priority).

I changed the access to the database so that it used WAL mode (so that low
priority reads cannot block writes) and I also changed access so that
SYNCHRONOUS is OFF (the database is volatile so there is no point making
sure that writes have completed synch).
All processes have a busy call back which calls nanosleep for 50ms before
returning a continue indication.

Recent testing of the system has started failing with an indication that we
are getting a locking error from sqlite. I read through the source code and
can't figure out what I can do to make the underlying cause more visible. In
the last instance, three processes had a locking error returned within a few
hundred milliseconds.

I have instrumented the WAL checkpoint code and also our busy handler and we
are not often calling the busy handler and the WAL checkpoint is not taking
very long (approx 30ms).

Any suggestions gratefully received

Rob

-- 
Rob Searle
Lead Engineer
Infrastructure Development
Tait Electronics Ltd

=======================================================================
This email, including any attachments, is only for the intended
addressee.  It is subject to copyright, is confidential and may be
the subject of legal or other privilege, none of which is waived or
lost by reason of this transmission.
If the receiver is not the intended addressee, please accept our
apologies, notify us by return, delete all copies and perform no
other act on the email.
Unfortunately, we cannot warrant that the email has not been
altered or corrupted during transmission.
=======================================================================
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to