ka-lite
ka-lite copied to clipboard
Experiment with SQLITE pragmas again to try improving performance
e.g. http://www.sqlite.org/pragma.html#pragma_synchronous
(the "corruption" risk may not be a big one, and worst case should be auto-recoverable when it starts up again, as I understand it)
(Assigning to @gwong89, as it could be relevant to him, but flagging @aronasorman in for input)
Could we try changing this on ver. 15.1 or upgrading to a dev. version of 0.16? We would like to set: PRAGMA schema.synchronous = 0 | OFF (Our servers have built-in battery's which work for 8 hours.)
We need to test with "50 or more times faster with synchronous OFF" to serve 40 users..
We are having serious problems with many (15+) users doing exercises at the same time with ver. 15.1 We believe updating the data.sqlite file is the problem even though this file is stored in SS flash memory.
We running on a single core Intel Atom CPU with 2 GB of RAM using 32-bit Ubuntu Server 12.04 LTS. If the exercises are loaded one at a time they can be used by 20 people; however, the system locks up when the exercises are completed and the users want to exit and start another exercise. (The exercises run a lot better with 15.1 than with 13.3. 15.1 seems to download a batch of problems with each exercise, but this does not solve the problem of saving the results.)
Hi @edresor, thanks for the input! I'll see if we can get someone working on this, however due to our limited dev capacity we'd also be happy to support you in finding a solution, and then committing it back into the development version!
As far as I can tell, Django doesn't offer any means of executing a PRAGMA statement through database options, but it's possible to execute arbitrary SQL statements. We may wish to try this out to see if it helps your performance issues. A provisional solution could be to execute the PRAGMA statement in distributed/urls.py to ensure that it's executed at least once. (See docs for executing arbitrary SQL.) If you try it out, let us know here if it solves your problem.
P.S. To get started developing KA Lite see our Getting Started page and by all means come to our hipchat room for real-time assistance! I'd really like to increase community involvement in KA Lite development, so your participation would be highly welcome!
Sorry. I missed you comment until now. I am not a programmer, so I am planning to collect data and may adjust the swappiness and niceness for some processes in Ubuntu.
I head out to South Sudan Feb. 8th where I will have have 40 tablets and 40 plus students. I plan to monitor with Monitorix unless I can get New Relic to enable me to batch and upload monitoring data. With New Relic you guys could look at the same data.
I am going to open a general issue on "Need Guidance on Hardware Requirements." for ideas on way to work at the operating system leve.
I am not a programmer
You seem capable enough to me! If you change your mind and decide to tackle this, we'll be happy to offer guidance.
Does anyone have suggestions for documentation or new default settings?