melissa@cunixf.cc.columbia.edu (Melissa Metz) (04/03/91)
My question: why does dump run so slow and use so many CPU seconds? We have an Encore 510 with 4 processors and 12 disks (25 filesystems). The disks are all attached to an MSC rather than simply on the EMC board. We run weekly full backups four nights a week, meaning about 3 full disks backed up per night (minus some "read-only" partitions) plus incrementals on everything else. We have two 9-track tape drives on a Sun-4/280 that we access remotely (running two dump sets at a time -- with the default of 22 processes each). Lately, we've been having a lot of trouble finishing the backups overnight. (We used to have three tape drives available.) Since the two backups running simultaneously bring the load up to as much as 20 (and the system to a crawl), we need to avoid running the backups while our users are logged in. A couple of months ago, the dumps would run really slow, and then hang, with "netstat -m" reporting more than 20,000 mbufs in use -- apparently we were running out. ("Normal" seems to be 2000/4000.) To make this go away, we rebooted and started running the backups serially -- only one filesystem dumped at a time. Unfortunately, this meant the backups weren't finished until 11am, severely impinging on the performance our users saw. After a few weeks like this, we returned to running the backups in parallel (two at a time), and have not seen a recurrence of the mbufs problem. However, the backups are still slow, lasting from a 1am start till 9 or 10am. To get some hard numbers, I did some benchmarking last week. I used our Encore 310 (4 processors, 2 disks on the EMC board) for comparison purposes. Command: rdump 0bdfs 50 54000 sun:/dev/nrst1 6000 /dev/mdxx CPU type real time CPU time size real speed CPU speed 510x4 2:34:53 8007.1 477,923 51 60 310x4 1:06:26 1256.8 372,055 93 296 (where "speed" is size/time (real or CPU) -- kilobytes per second, I guess) Now I'd like to know why my wimpy 310 can write dumps 2-5 times as "fast" as the "more powerful" 510. Note that the 510 had 25 users on it and a load of 5 (which went up to 10 with the dumps running), while the 310 had 2 users and a load of 0.5, which increased only to about 1. However, this shouldn't have such an incredible effect on the CPU usage of the processes... And why was the load impact greater on the 510? Anyone out there have any ideas? Am I missing something obvious (that would be a relief...)? Please reply by mail to me, and I will summarize if it seems appropriate. Melissa Metz Unix Systems Group Internet: melissa@columbia.edu BITNET: melissa@cunixc UUCP: ...!rutgers!columbia!melissa
melissa@cunixf.cc.columbia.edu (Melissa Metz) (04/18/91)
I asked: > My question: why does dump run so slow and use so many CPU seconds? I got various responses. Thanks for all the ideas! Sorry for not sending thanks sooner, but we've been busy trying out some of the suggestions, and it takes a while to get results. Unfortunately, we are still suffering, though I haven't tried everything yet. phil@pex.eecs.nwu.edu (William LeFebvre) suggested: > One thing that we do when dumping our Multimax is we restrict the > number of sub-processes that it starts. This is done with the > Encore-specific option "-N", as in "dump -N 4 ..." We use an > N of 8 and get adequate performance on a machine with 4 APCs. In benchmarking, I found that reducing the number of dump processes to 4 (by setting -N 2 -- two kids, a parent and a grandparent) increased real time by a minimal amount and total CPU time used by 50% (!). I couldn't judge the load impact from the benchmark. We tried this in production last night, and got complaints that the load was even worse! (But one comment that it was 100% better -- perhaps that one user logged in while the operator was changing tapes!) (I'm not sure whether we'll stick with this another night, trying to attribute the high load to a looping sendmail or something :-).) wtm@bu-it.bu.edu (W. Thomas Meier) suggested: > 1. The network: It sounds like you may be up against a bad connection > to the network or a lot of load on the network. We have been experiencing network problems off and on, and our network group has been running around fixing things, but it is not a constant problem (as the dumps are). I haven't looked into this suggestion further. > 2. Running dumps concurrently on two file systems means that a lot > of inodes and file descriptors are in use. You may have to double > those numbers. Also, how much physical memory do you have? In > order to run concurrent backups, you may need more physical memory > or at least more swap space on disk (it should be no more than > twice physical ). ^^^^^^^ We have 128 meg of physical memory, and about 500 meg of swap (1054464 blocks, on five separate disks -- 2 have 262848, 2 have 131808 and the last 265152 blocks). Did you really mean "no more"? Am I losing in some obscure way by having too much swap space? > Also, check the number of large and small ethernet frame packets > in your Umax.param file. I set mine to 300 for each. We tried this. In fact, we modified a few things in sysparam -- set these to 300, as you suggested (they were 120 before). We also set tcpackdelay to "true" (and discussed why such big system would ever want it false...). And the number of file system buffers had not been updated since we increased our physical memory, so we fixed that number. Preliminary results were good -- I benchmarked a backup at *twice* the former speed. Production backups also ran much faster for the first few days -- but then reverted, and became (by some reports) even worse than before :-(. I am currently supposing that the sysparam didn't have as much of an effect as rebooting the system -- this may have cleared some sort of memory leak or some other "software rot". Wytze van der Raay <wytze@encore.nl> says: > You don't specify your OS, but I presume you are using UMAX 4.3. > By the way, are you running the same OS on the 310 and 510 ?? Oops, I knew I forgot something! Yes, we're running Umax 4.3 ("R4.1.0") on both. > I don't know how UMAX 4.3 dump is implemented, but my suspicion is > that your 510x4 case is suffering from spinlocking processes being > rescheduled. If the parallel processes employed by dump synchronize > with each other using spinlocks, and there are also other users on > the system consuming CPU's (you quote a load of 5 on a 4-CPU system), > severe performance degradation is possible. > [he also suggests reducing the number of processes] > CPU time isn't a very good measure for the effectiveness of dump > though, you should look at the real time spent (that's what dump > is supposedly optimized for). I don't think I'm trying to measure effectiveness, I'm trying to measure load impact. I know that the straight numbers of CPU seconds used won't exactly tell me this, but it's easy to measure and should at least be (distantly?) related to load impact. It's much harder to measure the difference in load average and perceived slowness. Andrew T. Como <como@max.bnl.gov> says: > There was a tremendous amount of fragmented space on the file > systems. > My suggestion is force yourselve to take a good dump on a file system > make a newfs and rebuild it. It sounds like a lot of work but in the > long run it will save you time because youd backups will become > increasingly longer. Can I pass on this suggestion for a little while? With 12 disks, this would in fact be an awful lot of work... Terence Kelleher <terryk@encore.com> says: > 1- What kind of tape drive is the destination device? The density of > 54000 and size of 6000 ft does not sound reasonable. My "benchmark drive" is an 8mm tape drive hung off a Sun 4/280. The 54000/6000 is supposed to sound unreasonable, since the 8mm tapes hold an awful lot of data. I believe the numbers are fudged, since the tape is shorter and denser, but dump won't believe how dense it actually is. (The "production drives" are a pair of 9 track drives hanging off a different 4/280.) > 2- Are the 2 machines connected to the same network? To the same > cable? Is there any hardware on the net between the 310 and 510 and > the SUN 4? (repeaters, gateways, etc.). The two machines sit side by side. They are hooked into the same cable, though may be on adjacent DELNI's (multiport repeaters). Dennis Forgione <dennisf@encore.com> says: > What is the configuration of your machines? > 510 - What king of tape drives? > Where are they physically connected? EMC? MSC? Same SCSI channels? As I said above, it is an 8mm tape drive connected to our Sun 4/280. As far as the Encore is concerned, it is connected to the network. > What kind of disk drives? > How are they connected on the MSC? They are 12 CDC Wren V's. They are connected to the MSC in three groups of four. > If this is getting to be a problem and I can't give you a quick > answer, I would suggest placing a service call to the Technical > Assistance Center at 1-800 TECH-AID. We are in touch with Encore, but have not yet gotten a satisfactory answer. --Melissa Metz Unix Systems Group