Solaris lseek when reading shape files
Don Drake
dondrake at GMAIL.COM
Thu Apr 7 13:53:13 PDT 2005
I went back and created those and it made no difference.
-Don
On Apr 7, 2005 3:45 PM, Stephen Woodbridge <woodbri at swoodbridge.com> wrote:
> Don,
>
> Looks like you don't have a /mapdata/tiger/IL/Cook/tgr17031placecu.qix
> file. I'm I read the log correctly? This could/would account for a major
> perfomance issue.
>
> -Steve
>
> Don Drake wrote:
> > I'm using street-level data broken out by counties (tileindexed) and
> > I'm running into some performance problems on Solaris. We have this
> > working on Linux, similar maps take 5 seconds max and on Solaris they
> > take 45 seconds.
> >
> > I've trussed the web server and found the PHP/Mapscript process doing
> > the following:
> > 14455: 272.2223
> > open("/mapdata/tiger/IL/Cook/tgr17031placecu.shp", O_RDONLY) = 8
> > 14455: 272.2224
> > open("/mapdata/tiger/IL/Cook/tgr17031placecu.shx", O_RDONLY) = 9
> > 14455: 272.2225 fstat64(8, 0xFFBF5AA8) = 0
> > 14455: 272.2225 fstat64(8, 0xFFBF5950) = 0
> > 14455: 272.2225 ioctl(8, TCGETA, 0xFFBF5A34)
> > Err#25 ENOTTY
> > 14455: 272.2226 read(8, "\0\0 '\n\0\0\0\0\0\0\0\0".., 8192) = 8192
> > 14455: 272.2227 fstat64(9, 0xFFBF5AA8) = 0
> > 14455: 272.2227 fstat64(9, 0xFFBF5950) = 0
> > 14455: 272.2228 ioctl(9, TCGETA, 0xFFBF5A34)
> > Err#25 ENOTTY
> > 14455: 272.2228 read(9, "\0\0 '\n\0\0\0\0\0\0\0\0".., 8192) = 1180
> > 14455: 272.2229
> > open("/mapdata/tiger/IL/Cook/tgr17031placecu.dbf", O_RDONLY) = 10
> > 14455: 272.2230 fstat64(10, 0xFFBF5AB8) = 0
> > 14455: 272.2231 fstat64(10, 0xFFBF5960) = 0
> > 14455: 272.2231 ioctl(10, TCGETA, 0xFFBF5A44)
> > Err#25 ENOTTY
> > 14455: 272.2232 read(10, "03 h05\t87\0\0\0 !01 U\0".., 8192) = 8192
> > 14455: 272.2232 lseek(10, 32, SEEK_SET) = 32
> > 14455: 272.2233 read(10, " G I S T _ I D\0\0\012 N".., 8192) = 8192
> > 14455: 272.2234
> > open("/mapdata/tiger/IL/Cook/tgr17031placecu.qix", O_RDONLY) Err#2
> > ENOENT
> > 14455: 272.2235 lseek(8, 112, SEEK_SET) = 112
> > 14455: 272.2235 read(8, "C2BD 2 oD5F1 UC0AB \A8FC".., 8192) = 8192
> > 14455: 272.2236 lseek(8, 3256, SEEK_SET) = 3256
> > 14455: 272.2237 read(8, "03 < iE1B201 VC089 w80 '".., 8192) = 8192
> > 14455: 272.2237 lseek(8, 13872, SEEK_SET) = 13872
> > 14455: 272.2238 read(8, "828E VB5A4\t VC0CAC3 BAD".., 8192) = 8192
> > 14455: 272.2239 lseek(8, 17652, SEEK_SET) = 17652
> > 14455: 272.2240 read(8, "CBA0DAE0 D0F VC0 { K 9 _".., 8192) = 8192
> > 14455: 272.2240 lseek(8, 24028, SEEK_SET) = 24028
> > 14455: 272.2241 read(8, " 317B8 <D610 VC0 RB7B3AF".., 8192) = 8192
> > 14455: 272.2242 lseek(8, 28788, SEEK_SET) = 28788
> > 14455: 272.2242 read(8, "BEF7 7 hAFF6 UC0 `AB048B".., 8192) = 8192
> > 14455: 272.2243 lseek(8, 31872, SEEK_SET) = 31872
> > 14455: 272.2244 read(8, "B8ACC2 f80F9 UC0B2D2A414".., 8192) = 8192
> > 14455: 272.2244 lseek(8, 33384, SEEK_SET) = 33384
> > 14455: 272.2245 read(8, " M ID6E1E8FA UC0 ` t y s".., 8192) = 8192
> > 14455: 272.2245 lseek(8, 34116, SEEK_SET) = 34116
> > 14455: 272.2246 read(8, " 507\bE6E8FA UC0A4 6 q r".., 8192) = 8192
> > 14455: 272.2247 lseek(8, 35596, SEEK_SET) = 35596
> > 14455: 272.2247 read(8, " . r O W wF3 UC0AB ]13D2".., 8192) = 8192
> >
> > The seeks continue on for about a million more lines (seriously) and
> > this takes forever.
> >
> > This is a really inefficient way to scan a file, what can I do?
> >
> > I"m running Mapserver 4.2.5 on Solaris 9.
> >
> > -Don
> > --
> > Donald Drake
> > President
> > Drake Consulting
> > http://www.drakeconsult.com/
> > http://www.MailLaunder.com/
> > http://www.mobilemeridian.com/
> > 312-560-1574
> >
>
>
--
Donald Drake
President
Drake Consulting
http://www.drakeconsult.com/
http://www.MailLaunder.com/
http://www.mobilemeridian.com/
312-560-1574
More information about the MapServer-users
mailing list