I have a web server built with Jserver and Sqlite running on a 4 core processor.
The application uses a single SQL object. A call to sql.ExecQuerySingleResult("PRAGMA journal_mode = wal") has been made, even though there are hardly any updates but basically reads from the database.
The application does searches (free text search with the FTS5 module of SQLITE) on a large database of 10 GB.
Most of the searches (ExecQuery " Select .... " ) are done in a few tens of milliseconds, but some searches require several tens of seconds.
When a long search is running, another browser performing a short search is blocked until the end of the execution of the long search.
Is this normal? Is there a special setting to allow 2 jserver handlers to access the SQLITE database simultaneously?
Is it necessary to create several SQL objects to allow both searches simultaneously?
Thanks for your advice
The application uses a single SQL object. A call to sql.ExecQuerySingleResult("PRAGMA journal_mode = wal") has been made, even though there are hardly any updates but basically reads from the database.
The application does searches (free text search with the FTS5 module of SQLITE) on a large database of 10 GB.
Most of the searches (ExecQuery " Select .... " ) are done in a few tens of milliseconds, but some searches require several tens of seconds.
When a long search is running, another browser performing a short search is blocked until the end of the execution of the long search.
Is this normal? Is there a special setting to allow 2 jserver handlers to access the SQLITE database simultaneously?
Is it necessary to create several SQL objects to allow both searches simultaneously?
Thanks for your advice