|
This post was updated on .
Hey guys, I run rman with mhvtl. but the backup speed is too low(500kB/s).
the mhvtl debugging prints indicate that the block size is 64kB and the scsi command is running synchronous. when i set blocksize to 1M in rman configure , the backup process is hang.(i suppose mhvtl can support 2M block size, is true?) does any one know how to speed up this backup operation? ![]() Thanks. my system: linux kernel 2.6.18 mhvtl 0.18.17 oracle10 obtool 10.2 rman configure: RMAN> show all; using target database control file instead of recovery catalog RMAN configuration parameters are: CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default CONFIGURE BACKUP OPTIMIZATION OFF; # default CONFIGURE DEFAULT DEVICE TYPE TO 'SBT_TAPE'; CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/backup1/ctl_%F'; CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE SBT_TAPE TO '%F'; # default CONFIGURE DEVICE TYPE DISK PARALLELISM 2 BACKUP TYPE TO BACKUPSET; CONFIGURE DEVICE TYPE 'SBT_TAPE' BACKUP TYPE TO BACKUPSET PARALLELISM 1; CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE SBT_TAPE TO 1; # default CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE SBT_TAPE TO 1; # default CONFIGURE CHANNEL 1 DEVICE TYPE DISK FORMAT '/backup1/backup_%U'; CONFIGURE CHANNEL 2 DEVICE TYPE DISK FORMAT '/backup2/backup_%U'; CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' MAXOPENFILES 1 PARMS ''; CONFIGURE MAXSETSIZE TO UNLIMITED; # default CONFIGURE ENCRYPTION FOR DATABASE OFF; # default CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/home/oracle/oracle/product/10.2.0/db_1/dbs/snapcf_orcl.f'; # default obtool [root@localhost ~]# lsscsi -g [0:0:0:0] disk ATA ST3160815AS 4.AA /dev/sda /dev/sg0 [8:0:0:0] storage IET Controller 0001 - /dev/sg1 [8:0:0:1] disk IET VIRTUAL-DISK 0001 /dev/sdb /dev/sg2 [9:0:0:0] mediumx STK L700 550V /dev/sch0 /dev/sg11 [9:0:1:0] tape IBM ULT3580-TD5 550V /dev/st0 /dev/sg3 [9:0:2:0] tape IBM ULT3580-TD5 550V /dev/st1 /dev/sg4 [9:0:3:0] tape IBM ULT3580-TD4 550V /dev/st2 /dev/sg5 [9:0:4:0] tape IBM ULT3580-TD4 550V /dev/st3 /dev/sg6 [9:0:8:0] mediumx SPECTRA PYTHON 550V /dev/sch1 /dev/sg12 [9:0:9:0] tape IBM ULT3580-TD4 550V /dev/st4 /dev/sg7 [9:0:10:0] tape IBM ULT3580-TD4 550V /dev/st5 /dev/sg8 [9:0:11:0] tape IBM ULT3580-TD4 550V /dev/st6 /dev/sg9 [9:0:12:0] tape IBM ULT3580-TD4 550V /dev/st7 /dev/sg10 ob> mkdev -t library -o -a localhost:/dev/sg11 lib01 ob> mkdev -t tape -o -a localhost:/dev/sg4 -l lib01 -d 1 tape01 ob> lsdev library lib01 in service drive 1 tape01 in service |
|
What 'logging level' were you running when you measured the performance ?
Setting logging to '0' help the performance ? What sort of performance do you get if you try 'dd' e.g. # time dd if=/dev/zero of=/dev/nstXX bs=64k count=1000 (writing 1000 64k blocks in the above example) Cheers Mark |
|
Thanks,Mark.
I have closed all debug information. And I tryed "dd if=/dev/zero of=/dev/st0 bs=64k count=1600", it's about 28MB/sec. far fast than do write in rman(500KB/s). And I had try direct do scsi_done when received WRITE_6 in the mhvtl queuecommand(). so it doesn't perform real write operation. in this situation, I have about 100MB/s write speed with "dd" but still no improve with rman. It seems that it's rman problem...may be I have not configure it properly...
|
|
In reply to this post by donghan
Not sure if this will really help you:
I am using rman backups to real hw and mhvtl and speed is about the same. I am getting about 25MB/s for both. So it won't be a rman issue. :j |
|
hey citronik,thanks for your reply.
i see your backup speed is far faster than mine.could you tell me what configuration is your hw?may be my server is less powerful :( and i make bold to ask how speed is it if you do "SCSI_COMPLETE" directly at the scsi WRITE_6 command processing? it's a little boost when do this trick with mhvtl on my system. so i think may be it's my rman configuration wrong. P.S. i use patch below to return directly in WRITE_6 command. diff --git a/kernel/mhvtl.c b/kernel/mhvtl.c index 0084e2e..816d3ee 100644 --- a/kernel/mhvtl.c +++ b/kernel/mhvtl.c @@ -644,6 +644,15 @@ static int vtl_queuecommand_lck(struct scsi_cmnd *SCpnt, done_funct_t done) errsts = resp_report_luns(SCpnt, lu); break; + case WRITE_6: + SCpnt->result = DID_OK << 16; + if (done) + done( SCpnt); + else + printk("%s FATAL, line %d: SCSI done_funct callback => NULL\n", + __func__, __LINE__); + return 0; + /* All commands down the list are handled by a user-space daemon */ default: // Pass on to user space daemon to process errsts = q_cmd(SCpnt, done, lu); Many Thanks!
|
| Powered by Nabble | See how NAML generates this page |
