首页 > 数据库 > Oracle > sqlldr加载性能问题的排查
查看要加载的数据文件,内容如下,数据信息也没有什么特别的地方。
520002055869828!I!2014-05-06 12:19:42!4700-12-31 00:00:00!1003500!A!493053!!0!TH!!0!!NONE!
520002055869828!I!2014-05-02 14:46:11!2014-05-06 12:19:42!1003500!A!493053!!0!TH!!0!!NONE!
520002055869828!I!2014-05-02 12:46:07!2014-05-02 14:46:11!1003500!U!493053!!0!TH!!0!!NONE!
520002055869828!I!2014-05-02 08:41:12!2014-05-02 12:46:07!1003500!U!493053!!0!TH!!0!!NONE!
520002055869828!I!2014-05-02 08:31:28!2014-05-02 08:41:12!1003500!A!493053!!0!TH!!0!!NONE!
520002055869828!I!2014-02-08 19:39:55!2014-05-02 08:31:28!1003500!A!493053!!0!TH!!0!!NONE!
520002055869828!I!2014-02-08 19:39:52!2014-02-08 19:39:55!1003500!A!493053!!0!TH!!0!!NONE!
520002055869828!I!2014-02-08 19:35:49!2014-02-08 19:39:52!1003500!A!493053!!0!TH!!0!!NONE!
4096786 Rows successfully loaded.
Run began on Wed Jun 11 08:52:55 2014
Run ended on Wed Jun 11 14:57:40 2014
Elapsed time was: 06:04:44.05
CPU time was: 00:00:38.18
其次从io的角度来看。可能测试环境的Io负载要略微大一些,因为有两套环境在上面,都是使用,但是数据库这边来说测试环境的使用也不是很频繁,只是例行做一些测试而已。而在生产上可能要很多在线业务需要跑一些比较大的查询,从某种角度来说,尽管测试环境的数据库实例多一些,但是负载还要比生产环境小一些。
关于这个可以使用sar,iostat等命令来查看。
cpu,io都没有问题。
看看缓存,有个做性能的哥们查看了一下缓存的情况,说测试环境的paging情况比较多,建议停掉一些其他的库来释放掉一些缓存,提高数据加载的速度,我马上就表示反对,因为这台服务器有180G内存,每个库的sga都基本在8G左右,所以10个库,总共占用的缓存也在100G左右,加上一些额外的paging,因为测试环境的使用频率不是很高。所以在缓存上可能会相比生产环境要差一些,但是缓存还是相对ijiao充足的。
以上的情况都排除,我来看看网络情况,因为个人也对网络不是很在手。不过可以做一些简单的测试来印证。
首先在生产环境中做了一个scp的操作。把一个100m的文件传送到另一个客户端。每秒传送速度在50M左右,很快就完了。
然后我在测试环境做了类似的操作,把文件从客户端传送到测试数据库端。发现网络相比而言,慢了很多。
测试2个文件,开始在150KB/秒的样子,过了一会速度就降下来了。最低的时候再20kb左右的样子。
test.data 0% 288KB 153.3KB/s 0.0KB/s 22:10 ETA^
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29900508/viewspace-1275935/ ,如需转载,请注明出处,否则将追究法律责任。