Peter K. Stys wrote: > > I would disagree with this, unless I misunderstand. File copies (from the > Finder under OS X) to/from our Xserve run at about 50 MBytes/s or about 50% > of theoretical max on our Gbit LAN, whereas reading the records from the > same file via SQLite is 20-25x slower (≈2MB/sec at best, terrible > performance). So there is plenty of raw I/O bandwidth across the LAN and > network drive, but for some reason SQLite access to its remote files is > extremely slow (to be clear: these are single users accessing single files). > > In contrast SQLite R/W to local files runs at about 60% of raw binary file > access on a local volume, very acceptable (≈35MB/s vs. 60-70MB/sec). > > So I don't understand why the huge performance hit (compared to other > network file access like Finder copies, not comparing remote vs. local) when > accessing remote SQLite files? I could understand some slowdown because of > extra overhead with network operations, but 20-fold? >
Random access I/O to a file using 1K pages is very different than sequential reading or writing used to do a file copy. There is *much* more overhead involved. What SQLite is doing is more like copying a directory with thousands of small files, rather than copying a single large file. You may see some performance increase by setting pragma page_size to a larger value so that SQLite transfers fewer, but larger, blocks across the network. I would try benchmark tests with page sizes of 8K and 32K to see if there is a substantial difference. HTH Dennis Cote _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users