On Tue, 6 Jan 2009 11:23:29 +0900, "Edward J. Yoon"
<edwardy...@apache.org> wrote in General Discussion of
SQLite Database <sqlite-users@sqlite.org>:

> Hi, I'm newbie in here.
>
> I'm using SQLite, all data (very huge and 20 million files)

That's a lot of files. Or did you mean rows?

> stored on NAS storage. Lately my system has been getting 
> progressively slower. Network cost seems too large.

Are you sure? There can be many other reasons.

> To improve its performance, I'm think about local lock file 
> instead of NAS as describe below.
>
> char str[1024] = "/tmp";
> strcat(str, lockfile);
> sprintf(str, "%s-lock", zFilename);
>
> But, I'm not sure this is good idea. 
> I would love to hear your advice!!

I think that's not the right way to start.
This is what I would do, more or less in 
this order:

1- Optimize the physical database properties
   PRAGMA page_size (read the docss first!)
   PRAGMA [default_]cache_size

2- Optimize SQL: use transactions 
   where appropriate.

3- Optimize your code. Don't close database 
   connections if they can be reused.

4- Optimize the schema: create indexes that 
   help, leave out indexes that don't help.

5- Investigate the communication to/from NAS.
   Do all NIC's train at the highest possible speed?
   Some limiting switch or router in between?
   Do you allow jumbo frames?

6- Consider SAN/fSCSI, direct attached storage.

7- Consider changing SQLite code.


Without more details on your use case, people will only get
general advice like the above.

>Thanks.

Hope this helps.
-- 
  (  Kees Nuyt
  )
c[_]
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to