|  | 
| 345 | 345 | Received: from renoir.op.net ([email protected]  [209.152.193.4]) | 
| 346 | 346 | 	by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id KAA29087 | 
| 347 | 347 | 	for <[email protected] >; Tue, 19 Oct 1999 10:31:08 -0400 (EDT) | 
| 348 |  | -Received: from hub.org (hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.15  $) with ESMTP id KAA27535 for <[email protected] >; Tue, 19 Oct 1999 10:19:47 -0400 (EDT) | 
|  | 348 | +Received: from hub.org (hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.16  $) with ESMTP id KAA27535 for <[email protected] >; Tue, 19 Oct 1999 10:19:47 -0400 (EDT) | 
| 349 | 349 | Received: from localhost (majordom@localhost) | 
| 350 | 350 | 	by hub.org (8.9.3/8.9.3) with SMTP id KAA30328; | 
| 351 | 351 | 	Tue, 19 Oct 1999 10:12:10 -0400 (EDT) | 
|  | 
| 454 | 454 | Received: from renoir.op.net ([email protected]  [209.152.193.4]) | 
| 455 | 455 | 	by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id VAA28130 | 
| 456 | 456 | 	for <[email protected] >; Tue, 19 Oct 1999 21:25:26 -0400 (EDT) | 
| 457 |  | -Received: from hub.org (hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.15  $) with ESMTP id VAA10512 for <[email protected] >; Tue, 19 Oct 1999 21:15:28 -0400 (EDT) | 
|  | 457 | +Received: from hub.org (hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.16  $) with ESMTP id VAA10512 for <[email protected] >; Tue, 19 Oct 1999 21:15:28 -0400 (EDT) | 
| 458 | 458 | Received: from localhost (majordom@localhost) | 
| 459 | 459 | 	by hub.org (8.9.3/8.9.3) with SMTP id VAA50745; | 
| 460 | 460 | 	Tue, 19 Oct 1999 21:07:23 -0400 (EDT) | 
|  | 
| 1006 | 1006 | Received: from renoir.op.net ([email protected]  [207.29.195.4]) | 
| 1007 | 1007 | 	by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id RAA04165 | 
| 1008 | 1008 | 	for <[email protected] >; Fri, 16 Jun 2000 17:31:01 -0400 (EDT) | 
| 1009 |  | -Received: from hub.org ([email protected]  [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.15  $) with ESMTP id RAA13110 for <[email protected] >; Fri, 16 Jun 2000 17:20:12 -0400 (EDT) | 
|  | 1009 | +Received: from hub.org ([email protected]  [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.16  $) with ESMTP id RAA13110 for <[email protected] >; Fri, 16 Jun 2000 17:20:12 -0400 (EDT) | 
| 1010 | 1010 | Received: from hub.org (majordom@localhost [127.0.0.1]) | 
| 1011 | 1011 | 	by hub.org (8.10.1/8.10.1) with SMTP id e5GLDaM14477; | 
| 1012 | 1012 | 	Fri, 16 Jun 2000 17:13:36 -0400 (EDT) | 
| @@ -3162,3 +3162,105 @@ Curt Sampson  <[email protected] >   +81 90 7737 2974   http://www.netbsd.org | 
| 3162 | 3162 |     Don't you know, in this new Dark Age, we're all light.  --XTC | 
| 3163 | 3163 | 
 | 
| 3164 | 3164 | 
 | 
|  | 3165 | +From [email protected]  Fri Apr 26 14:22:39 2002 | 
|  | 3166 | + | 
|  | 3167 | +Received: from doppelbock.patentinvestor.com (ip146.usw5.rb1.bel.nwlink.com [209.20.249.146]) | 
|  | 3168 | +	by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g3QIMc400783 | 
|  | 3169 | +	for <[email protected] >; Fri, 26 Apr 2002 14:22:38 -0400 (EDT) | 
|  | 3170 | +Received: (from kaf@localhost) | 
|  | 3171 | +	by doppelbock.patentinvestor.com (8.11.6/8.11.2) id g3QII0l16824; | 
|  | 3172 | +	Fri, 26 Apr 2002 11:18:00 -0700 | 
|  | 3173 | + | 
|  | 3174 | +MIME-Version: 1.0 | 
|  | 3175 | +Content-Type: text/plain; charset=us-ascii | 
|  | 3176 | +Content-Transfer-Encoding: 7bit | 
|  | 3177 | + | 
|  | 3178 | +Date: Fri, 26 Apr 2002 11:18:00 -0700 | 
|  | 3179 | +To: Bruce Momjian <[email protected] > | 
|  | 3180 | +Subject: Re: [HACKERS] Sequential Scan Read-Ahead | 
|  | 3181 | + | 
|  | 3182 | + | 
|  | 3183 | + | 
|  | 3184 | +X-Mailer: VM 6.95 under 21.1 (patch 14) "Cuyahoga Valley" XEmacs Lucid | 
|  | 3185 | +Status: ORr | 
|  | 3186 | + | 
|  | 3187 | +Hey Bruce, | 
|  | 3188 | + | 
|  | 3189 | +I'll forward this to the list if you think they'd benefit from it. | 
|  | 3190 | +I'm not sure it says anything about read-ahead, I think this is more a | 
|  | 3191 | +kernel caching issue.  But I've been known to be wrong in the past. | 
|  | 3192 | +Anyway... | 
|  | 3193 | + | 
|  | 3194 | + | 
|  | 3195 | +the test: | 
|  | 3196 | + | 
|  | 3197 | +foreach i (5 15 20 25 30 ) | 
|  | 3198 | +  echo $i | 
|  | 3199 | +  time dd bs=8k if=big_file1 of=/dev/null & | 
|  | 3200 | +  sleep $i | 
|  | 3201 | +  time dd bs=8k if=big_file1 of=/dev/null & | 
|  | 3202 | +  wait | 
|  | 3203 | +end | 
|  | 3204 | + | 
|  | 3205 | +I did a couple more runs in the low range since their is a drastic | 
|  | 3206 | +jump in elapsed (wall clock) time after doing a 6 second sleep: | 
|  | 3207 | + | 
|  | 3208 | +            first process                second process | 
|  | 3209 | +sleep    user    kernel   elapsed     user    kernel   elapsed | 
|  | 3210 | +0 sec    0.200   7.980    1:26.57     0.240   7.720    1:26.56 | 
|  | 3211 | +3 sec    0.260   7.600    1:25.71     0.260   8.100    1:22.60 | 
|  | 3212 | +5 sec    0.160   7.890    1:26.04     0.220   8.180    1:21.04 | 
|  | 3213 | +6 sec    0.220   8.070    1:19.59     0.230   7.620    1:25.69 | 
|  | 3214 | +7 sec    0.210   9.270    1:57.92     0.100   8.750    1:50.76 | 
|  | 3215 | +8 sec    0.240   8.060    4:47.47     0.300   7.800    4:40.40 | 
|  | 3216 | +15 sec   0.200   8.500    4:51.11     0.180   7.280    4:44.36 | 
|  | 3217 | +20 sec   0.160   8.040    4:40.72     0.240   7.790    4:37.24 | 
|  | 3218 | +25 sec   0.170   8.150    4:37.58     0.140   8.200    4:33.08 | 
|  | 3219 | +30 sec   0.200   7.390    4:37.01     0.230   8.220    4:31.83 | 
|  | 3220 | + | 
|  | 3221 | + | 
|  | 3222 | + | 
|  | 3223 | +with a sleep of > 6 seconds, either the second process isn't getting | 
|  | 3224 | +cached data or readahead is being turned off.  I'd guess the former, I | 
|  | 3225 | +don't see why read-ahead would be turned off since they're both doing | 
|  | 3226 | +sequential operations. | 
|  | 3227 | + | 
|  | 3228 | +Although with 512mb of memory and the disk reading at about 22 mb/sec, | 
|  | 3229 | +maybe we're not hitting the cache.  I'd guess at least ~400 megs of | 
|  | 3230 | +kernel cache is being used for buffering this 2 gig file.  free(1) | 
|  | 3231 | +reports: | 
|  | 3232 | + | 
|  | 3233 | +% free | 
|  | 3234 | +             total       used       free     shared    buffers     cached | 
|  | 3235 | +Mem:        512924     508576       4348          0       2640     477960 | 
|  | 3236 | +-/+ buffers/cache:      27976     484948 | 
|  | 3237 | +Swap:       527152      15864     511288 | 
|  | 3238 | + | 
|  | 3239 | +so shouldn't we be getting cached data even with a sleep of up to | 
|  | 3240 | +about (400/22) 18 seconds...?  Maybe I'm just in the dark on what's | 
|  | 3241 | +really happening.  I should point out that this is linux 2.4.18. | 
|  | 3242 | + | 
|  | 3243 | + | 
|  | 3244 | + | 
|  | 3245 | + | 
|  | 3246 | +Bruce Momjian wrote: | 
|  | 3247 | +>  | 
|  | 3248 | +> I am trying to illustrate how kernel read-ahead could be turned off in | 
|  | 3249 | +> certain cases. | 
|  | 3250 | +>  | 
|  | 3251 | +> --------------------------------------------------------------------------- | 
|  | 3252 | +>  | 
|  | 3253 | +> Kyle wrote: | 
|  | 3254 | +> > What are you trying to test, the kernel's cache vs disk speed? | 
|  | 3255 | +> >  | 
|  | 3256 | +> >  | 
|  | 3257 | +> > Bruce Momjian wrote: | 
|  | 3258 | +> > >  | 
|  | 3259 | +> > > Nice test.  Would you test simultaneous 'dd' on the same file, perhaps | 
|  | 3260 | +> > > with a slight delay between to the two so they don't read each other's | 
|  | 3261 | +> > > blocks? | 
|  | 3262 | +> > >  | 
|  | 3263 | +> > > seek() in the file will turn off read-ahead in most OS's.  I am not | 
|  | 3264 | +> > > saying this is a major issue for PostgreSQL but the numbers would be | 
|  | 3265 | +> > > interesting. | 
|  | 3266 | + | 
0 commit comments