2013/4/7 vince <[email protected]>

> from my experience if u running web2py on apache with mod_wsgi u will get
> database locked more often than running web2py alone with it's buildin
> webserver.


web2py + apache + mod_wsgi is my configuration.
ok, I will try the internal webserver.

>
> u should also avoid using session on sqlite database.
>

you mean to store session variables on the database? I don't do it.

>
>
> On Saturday, April 6, 2013 11:14:16 PM UTC+8, BlueShadow wrote:
>>
>> I know that I will eventually have that problem. thats why I got the plan
>> to migrate to postgres when I got more time. the problem with postgres
>> migration is that I used a couple field names which you are not allowed to
>> use in postgres so I can't simply move the db with me thats quite a bit of
>> work. So I try to keep it running with SQLite until I got more time.
>>
>> On Saturday, April 6, 2013 4:51:03 PM UTC+2, Niphlod wrote:
>>>
>>>
>>>
>>> On Saturday, April 6, 2013 3:29:24 PM UTC+2, Vasile Ermicioi wrote:
>>>>
>>>> Don't really know where you saw the 100k user statement....
>>>>
>>>> http://www.sqlite.org/**whentouse.html<http://www.sqlite.org/whentouse.html>
>>>>
>>>
>>> Make a simple app (even with "less bloated" frameworks) that writes to a
>>> db every time a user hits a page. I bet I can lock the db in no time.
>>> The problem is not "how many users are hitting the website" but "how
>>> many users are hitting the website and trying to write to the db".
>>> As far as read is concerned, I never had a "database locked" problem
>>> with SQLite, WAL active or not.
>>>
>>>>
>>>> editing a single table from multiple users ... no.
>>>>
>>>> with WAL enabled the response is YES!
>>>>
>>>>
>>> Nope. It helps for sure, but doesn't prevent locking in an "universal"
>>> way.
>>>
>>> Test it yourself, open one shell ...
>>> sqlite3 storage.db
>>> SQLite version 3.7.13 2012-06-11 02:05:22
>>> Enter ".help" for instructions
>>> Enter SQL statements terminated with a ";"
>>> sqlite> create table m(col_a integer);
>>> sqlite> insert into m values(1);
>>> sqlite> PRAGMA journal_mode=WAL;
>>> wal
>>> sqlite> insert into m values(1);
>>> sqlite> select * from m
>>>    ...> ;
>>> 1
>>> 1
>>> 3
>>> ok, now open another shell
>>>
>>> sqlite3 storage.db
>>> SQLite version 3.7.13 2012-06-11 02:05:22
>>> Enter ".help" for instructions
>>> Enter SQL statements terminated with a ";"
>>> sqlite> insert into m values(3);
>>> sqlite> BEGIN TRANSACTION;
>>> sqlite> insert into m values(3);
>>> sqlite> select * from m;
>>> 1
>>> 1
>>> 3
>>> 3
>>> sqlite>
>>>
>>> now, back to the previous one
>>> sqlite> insert into m values(1);
>>> Error: database is locked
>>>
>>>
>>> voilĂ , WAL active, but locked database anyway.
>>>
>>> tl;dr : You can't have an open transaction that made writes to the db
>>> and contemporarily read the database.
>>>
>>  --
>
> ---
> You received this message because you are subscribed to the Google Groups
> "web2py-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to