On Tue, Aug 9, 2011 at 4:46 PM, Drew Kozicki <drewkozi...@gmail.com> wrote:

> We have an application that does not scale well – especially 8 and 16
> threads we are getting about 10% at best to -50% at worst (2 and 4 are okay
> aprox. 40-50%).
>

Open a separate database connection for each thread.  Don't try to use the
same database connection on all threads because access to the database
connection is serialized.


>
>
>
> We have narrowed the problem down to the SQLite code.
>
>
>
> Looking for best practices from anyone that overcame scaling issues.
>
>
> First we generate 35 different SQLite databases, this is done in a separate
> program and performance is not an issue.
>
>
>
> The application is a  C++ app. that accesses all the databases in a read
> only style.  Size of database range from 1MB to 10GB.
>
>
> Each thread does the following in a loop
>
> 1. Grab a record from an external system (not SQLite)
>
> 2. Runs several SQLite queries to process the record
>
>
>
>
>
> We are currently using 3.6.14 (has this been improved in new versions?)
>
>
> Is there any compile time options or pragma's that are specifically
> engineered at optimizing for read only and/or scaling?
>
>
> Thank you in advance,
>
> Drew
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
>



-- 
D. Richard Hipp
d...@sqlite.org
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to