Chinaunix

标题: 关于dump和load的速度优化问题 [打印本页]

作者: y3733    时间: 2016-11-23 16:45
标题: 关于dump和load的速度优化问题
各位大神好!请教个sybase的问题,我这边有个sybase12.5的数据库,服务器的硬盘读写速度测过能到一百多两百兆每秒,但是我再做sybase的dump和load的时候,读写只有30M/s左右,90G的库,80G的数据,load在50分钟,dump在四十多分钟,请问可有什么优化的办法?因为之前新装过一个服务器,硬盘读写也是在两百多兆每秒,64G内存,两颗6核cpu,dump速度大概在四五十兆每秒,load速度最快能到六七个G每秒,一般在4G/s,但是后来装过一些性能更好的服务器,却没有这么快的load速度,比对过SYBASE。cfg配置,也没什么改善,所以来请教下各位,麻烦指教。还有是否可以讲讲dump和load的机制,我好研究一下。

作者: Eisen    时间: 2016-11-24 15:03
dump是对db device做压缩之后输出的,IO速度肯定不可能达到disk direct IO 速度,
如果想优化,建议用stripes 做并发dump,就能快了
作者: andkylee    时间: 2016-11-25 12:58
你说的两个场景,dump速度都是40M/S左右,这个考虑优化:
1、用sp_dumpoptimize调整转储阀值;
2、使用stripe分片转储到多个备份文件;
3、使用最小的压缩级别或者不压缩备份文件。
关于load的速度,曾经达到G/S的速度,可能是目的数据库空间大于源数据库,load进程在执行超过源库大小空间部分的分配工作。
sybase初始化空间的时候以allocation为单位,如果2K页的话,每次0.5MB,我认为仅仅会写每个allocation的第一个页面。这样可以认为速度会提高200倍。
200*40M=8G/S
这仅仅是粗略计算而已。

作者: y3733    时间: 2016-11-30 10:05
回复 3# andkylee

谢谢回复,请问你说的三个可以优化dump的方法我都没有做过,可否再稍微具体说下怎么做?load达到4G/S的那个数据库大小和源数据库是一样的,只是个灾备,在一些比源数据库大的目的数据库里我做过load,似乎时间也没太缩短,另外关于load的优化,可有什么建议。

作者: y3733    时间: 2016-11-30 10:07
回复 2# Eisen

我不知道其他人遇到的dump速度大概是多少,至少觉得40M/S的速度有点慢了。
作者: Eisen    时间: 2016-11-30 14:09
y3733 发表于 2016-11-30 10:07
回复 2# Eisen

我不知道其他人遇到的dump速度大概是多少,至少觉得40M/S的速度有点慢了。

40MB/s确实慢了...首先应该检查dump时是否还有其他应用在这个db上做操作,然后检查是否已经执行过了checkpoint,然后看device file的grouping情况。这些都会影响dump的效率。
但是有一点是必须注意的: dump速度是不能用load速度来衡量的,因为dump是做条带压缩,而load是解压缩并且常会如andy所说那样通过写meta header来跳过很多block的写入。

所以可比较的是用dd -direct 来测storage的写入速度,然后尽量将所有device都做成storage连续段。






欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2