At 06:48 05/06/2012, you wrote:
Have a market data extractor running tick tapes and saving data to sqlite db.
All coded in C++ and previously ran fine and fast on bare metal.

Processes tick tapes from NAS and saved to local sqlite db's on c drive.

We moved program onto VMWare VM's... same nas tick tapes.  Writing
db's to a share.

On a 4 core vm we can run 3 extractors concurrently at 25 - 75% CPU
utilization.  The 4th pegs the CPU at 100%

Same on an 8 core VM ... seems we can run Cores - 1 without pegging the CPU.

The memory footprint for the program is a tiny 9mb...  On bare metal
we can run 20 extractors concurrently.   Looking for suggestions on
how to optimize for VMware.

So you want to minimize the cpu usage? It looks like your os is running on the last core, it has work to do too ;) Apart form using directly a hard disk instead a vdmk virtual hard disk, i don't know other tricks on vmware sorry.

Did you create the indexs before the mass inserts? If yes, sqlite is reindexing after your 10.000 inserts. Create the tables without any indexes, and recreate them after the bulk insert. Set pragma automatic_index=FALSE too to disable automatic index creation on primary key on the not indexed table.

Calculate how much database size increase happens when you insert the 10.000 rows. If you are using wal mode, set wal file size to this size plus a bit more. This way only one wal file will be used. Other journal modes (try off mode) may be faster but riskier.

9MB of memory, perhaps the system is copying data between kernel structures and sqlite, like disk cache entries (I don't know what os are you using, it's a blind shoot) try to increase the pragma cache page.

Increase page size to 8K-32K, this way sqlite will reduce the amount of administrative internal work on pages.

Of course, read the documentation, and if you have any cuestion on it ask.

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


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

Reply via email to