 |
oracledba.ru
|
| View previous topic :: View next topic |
| Author |
Message |
jf
Joined: 12 Jul 2005 Posts: 6
|
Posted: Tue Jan 24, 2006 11:42 pm Post subject: incredibly long time to process a file |
|
|
Egor,
I've left some posts before and I can see that you implemented some of the suggestions. Thank you very much for being so responsive.
Now, I have used orasrp in a performance improvement project and have success with it. In this last project that I did, I ran into a situation where it was taking an incredibly long time to generate the .html output.
The file is 40+Million lines, > 2GB in size.
First, I tried it on my laptop (1.6GHz, 1GB RAM, WinXP Pro, lots of virtual memory). I verified that psyco was on. The job ran for 8 hours, did not encounter any problems, and then I killed it.
When I got home, I ran it again overnight. Didn't finish. I also ran it on another machine (WinXP Pro, psyco on, 1.2GHz, 512 RAM, 2GB virtual memory). This one ran for 2 days and never finished. Before I killed it, I can see that it was consuming *very little* CPU but there was a *lot* of disk IO. Memory use would go up and down in the 400MB-500MB range.
So then I brought the file to one of my old Solaris machine -- Ultra 60, 2 CPUs, 1.5GB RAM. First I gunzipped the file and ran it. It ran overnight and didn't finish. While it was running, I did a truss and I can see that it was reading the file in 8K chunks. So it was definitely doing something but it was taking incredibly long. I could see the disk light blinking like crazy. The Solaris prstat also showed CPU at around 10%.
Then, I had this idea that maybe, what is causing it was that the reads were very slow. I happened to have a gzipped format of the file so I did this:
gunzip -c tracefile.trc.gz | ./orasrp --stdin > tracefile.trc.html
After that command, I can see via truss that reads from stdin was at 5K but the screen was scrolling much faster. prstat shows CPU at 40-70%. gunzip was sleeping most of the time probably because orasrp could not keep up with it. I was also doing a truss on gunzip and it would wake up once in a while to uncompress some more.
This was uncouraging. I think the CPU used by orasrp was now up because now it was no longer being held back by reads from disk... essentially, the pipe to stdin was making orasrp read from memory!
So I let it run like that and it finished in 4+ hrs... still long but it finished.
Now, I said earlier that this file is 40+Million lines long, > 2GB in size. I have anoter file that if 800+MB, 11+Million lines long. orasrp on Windows processed that in 6+minutes. So the problem file is 4x bigger but the time it takes to run is so much more... it won't even finish in most situations.
Any comments? Has any one encountered this before?
Egor, if you want the trace file, we can take this off line.
Thanks.
jf |
|
| Back to top |
|
 |
jf
Joined: 12 Jul 2005 Posts: 6
|
Posted: Tue Jan 24, 2006 11:44 pm Post subject: |
|
|
| btw, orasrp version is 2.1 |
|
| Back to top |
|
 |
egorst Site Admin
Joined: 21 Oct 2004 Posts: 36
|
Posted: Thu Jan 26, 2006 4:34 pm Post subject: Re: incredibly long time to process a file |
|
|
No comments, just a question:
Does that trace file contain 'BIND' lines? If yes, then please try to run orasrp with '--binds 0'.
| jf wrote: | Egor, if you want the trace file, we can take this off line.
| Yes, it would be nice. |
|
| Back to top |
|
 |
jf
Joined: 12 Jul 2005 Posts: 6
|
Posted: Thu Jan 26, 2006 6:25 pm Post subject: Re: incredibly long time to process a file |
|
|
| Quote: | No comments, just a question:
Does that trace file contain 'BIND' lines? If yes, then please try to run orasrp with '--binds 0'. |
Yes, it contains BIND lines. I'll try --binds 0 as you suggested.
Just out of curiosity, why?
| Quote: | | Yes, it would be nice. |
Okay. Let's take this offline and update the forum when it is resolved. The file is >85MB gzipped. Please send me private email to let me know where to drop it.
Thanks. |
|
| Back to top |
|
 |
egorst Site Admin
Joined: 21 Oct 2004 Posts: 36
|
Posted: Fri Jan 27, 2006 7:36 am Post subject: Re: incredibly long time to process a file |
|
|
| jf wrote: | Yes, it contains BIND lines. I'll try --binds 0 as you suggested.
Just out of curiosity, why?
| While processing trace file, orasrp gather info about _all_ bind values. At the end of processing it sorts bind values by 'elapsed time spend per value' and displays only the topmost (by default) value.
If trace file contains a lot of different bind values then orasrp might spend a lot of RAM.
By specifying '--binds 0' you disable processing of bind values at all. |
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|