动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Oracle教程 ]的信息

本月文章推荐
.Oracle 10G 中的“回收站”.
.standby利用并行恢复提高归档恢复.
.oracle9.2.0.1升级到9.2.0.6.
.使用OLE对象访问Oracle数据库.
.Oracle中利用ADO对象实现存取和访.
.Oracle 8i在GNU/Linux上的安装笔.
.Oracle 9i创建数据库.
.vsftpd-1.1.3配制实例之一:INTE.
.Oracle数据库中物化视图的原理剖.
.linux学习笔记:进程及作业.
.学习:怎样才是一个真正的DBA?.
.使用索引跳跃式扫描以提高查询速.
.Oracle容灾复制解决方案SharePlex.
.ORACLE性能调优原则下篇.
.在NOVELL网实现ORACLE分布式处理.
.oracle日期处理完全版.
.ExactPapers Oracle 1Z0-301 200.
.Oracle10g Release 2手工建立数据.
.设置不使用spfile.
.Oracle与PHP实例开发Myers订单跟.

角斗士般的Oracle性能

发表日期:2008-2-9 |



"Damn the torpedoes! Full speed ahead." - Admiral David Farragut

Linux Journal 发表了一篇优化 Oracle 数据库的文章,感觉十分的有用。简要介绍其摘要和大家共同分享 Linux 在企业级数据库上应用。

原作者:Bert Scalzo



目前,HP,Compaq,Dell,IBM 以及 Oracle 都在加快速度拥抱 Linux ,这个开放源码的操作系统。根据 eWeek 的统计,去年 Linux 服务器的销售量大约占据了 Compaq 的 30%,Dell 的 13.7%,IBM 的 13.5%。而且 IBM 2001年度在 Linux 上的投入有 10 个亿。 Intel 最新的 64 位的 Itanium CPU 只支持四种操作系统:Windows, Linux, AIX 和 HP-UX。我们也不要忘记 Oracle 的 9i 数据库 Linux 版本要比 Windows 版本早一个月。

尽管 Linux 能跑在从 IBM S/390 到 Sun SPARC 结构的服务器,但是对于大多数人来说,Intel 还是 Linux 跑得最多的平台。本文就是要讲述通过简单的性能调正,使 Oracle 的性能提升 1000% 的办法。

本文采用的测试环境是一台 Compaq 4 CPU,512 MB ,8 部 7200 rpm SCSI 磁盘的服务器,然后在几乎同样的单 CPU Athlon 系统上作了测试,内存一样,但是只有一部 7200 rpm 的 Ultra 100 IDE 磁盘。尽管最后的结果和得到的百分比不一样,但是观测得到的性能提升是一致的。

为了简单起见,我们的测试环境采用 TPC 基准测试,它广泛地用于 OLTP 的负荷测试。Quest 公司有一个叫做 Benchmark Factory 的工具,使测试工作变得就像发送电子邮件一样简单。

下面我们将分别通过 DB 的调整和 OS 的调整来看测试的结果。

DB1 的初始化参数一般不常见,为了说明问题,我们使用这些参数并作为基准。

DB1: Initial Database

Database Block Size 2K

SGA Buffer Cache 64M

SGA Shared Pool 64M

SGA Redo Cache 4M

Redo Log Files 4M

Tablespaces Dictionary



TPC Results Load Time (Seconds) 49.41

Transactions / Second 8.152



显然需要加大 SGA 大小,我们来看 DB2 的结果:

DB2: Cache & Pool

Database Block Size 2K

SGA Buffer Cache 128M

SGA Shared Pool 128M

SGA Redo Cache 4M

Redo Log Files 4M

Tablespaces Dictionary



TPC Results Load Time (Seconds) 48.57

Transactions / Second 9.147



增大 SGA 已经缓冲看来对于性能的提升并不显著,加载时间只提升了 1.73%。下面我们增加 SGA 重做日志的大小:

DB3: Log Buffer

Database Block Size 2K

SGA Buffer Cache 128M

SGA Shared Pool 128M

SGA Redo Cache 16M

Redo Log Files 16M

Tablespaces Dictionary



TPC Results Load Time (Seconds) 41.39

Transactions / Second 10.088



我们可以看到加载时间提升了 17.35%,TPS 也提升了 9.33%。因为加载和同时插入,更新,删除需要比 8M 大的空间,但是看起来增加内存性能并没有显著提升,我们加大块大小:

DB4: 4K Block

Database Block Size 4K

SGA Buffer Cache 128M

SGA Shared Pool 128M

SGA Redo Cache 16M

Redo Log Files 16M

Tablespaces Dictionary



TPC Results Load Time (Seconds) 17.35

Transactions / Second 10.179



我们看到加载时间提升了 138%!而对 TPS 值没有很大的影响。
下面一个简单的念头是表空间的治理从目录切换为本地:

DB5: Local Tablespaces

Database Block Size 4K

SGA Buffer Cache 128M

SGA Shared Pool 128M

SGA Redo Cache 16M

Redo Log Files 16M

Tablespaces Local

TPC Results Load Time (Seconds) 15.07

Transactions / Second 10.425

下面我们把数据库块加大到 8K 来看结果:

DB6: 8K Block

Database Block Size 8K

SGA Buffer Cache 128M

SGA Shared Pool 128M

SGA Redo Cache 16M

Redo Log Files 16M

Tablespaces Local

TPC Results Load Time (Seconds) 11.42

Transactions / Second 10.683

看来结果并不坏,我们没有理由继续增加块大小了,我们还没有根据 CPU 个数调整相应的参数,这次我们设置 I/O 的进程数来继续调整:

DB7: I/O Slaves

Database Block Size 8K

SGA Buffer Cache 128M

SGA Shared Pool 128M

SGA Redo Cache 16M

Redo Log Files 16M

Tablespaces Local

dbwr_io_slaves 4

lgwr_io_slaves (derived) 4

TPC Results

Load Time (Seconds) 10.48

Transactions / Second 10.717



我们的测试是基于 Red Hat 6.2 进行的,内核版本为 2.2.14-5smp。对于 Linux 的内核而言,有将近几百个参数可以调整,包括对 CPU 类型,SMP 支持,APIC 支持,DMA 支持,IDE DMA 缺省参数的使用以磁盘限额支持。根据 Oracle 的文档,我们要做的主要调整是共享内存和信号量的大小,SHMMAX 最少配置 0x13000000,SEMMNI, SEMMSL 和 SEMOPN 分别至少设置 100, 512, 100。这些参数的设置可以通过下面的命令实现:

# echo 0x13000000 >/proc/sys/kernel/shmmax

# echo 512 32000 100 100 >/proc/sys/kernel/sem



OS1: 单内核和 IPC

TPC Results

Load Time (Seconds) 9.54

Transactions / Second 11.511



我们有理由相信采用新的内核版本(2.2.16-3smp)也应该有性能的提升:

OS2: Newer minor version kernel TPC Results

Load Time (Seconds) 9.40

Transactions / Second 11.522



目前已经有 2.4 版本的内核,和 2.2 相比,性能上有了很大的提升,我们采用 2.4.1smp:

OS3: Newer major version kernel TPC Results

Load Time (Seconds) 8.32

Transactions / Second 12.815



Linux 缺省读操作时更新最后一次读的时间,但是这个对我们来说并不重要,因此我们关闭这个选项,通过设置 noatime 的文件属性来实现。(对于 Win NT 和 2000 有相似的设置)

假如只是相对 Oracle 的数据文件设置,我们的命令是

chattr +A file_name



对整个目录的实施办法:chattr -R +A Directory_name

最好的办法是修改 /etc/fstab ,针对每个文件系统入口,添加 noatime 要害字。

OS4: noatime file attribute

TPC Results

Load Time (Seconds) 5.58

Transactions / Second 13.884



另外一个调整 Linux I/O 的办法是虚拟内存子系统的调整,修改 /ect/sysctl.cong 文件,增加下面一行:

vm.bdflush = 100 1200 128 512 15 5000 500 1884 2



根据 /usr/src/Linux/Documentation/sysctl/vm.txt 的说法:

第一个参数100 %:控制缓冲区中最大的脏缓冲数据,增加这个值意味着 Linux 可以延迟磁盘写。

第二个参数 1200 ndirty:给出 bdflush 一次能够写入磁盘的最大脏缓冲。

第三个参数 128 nrefill:当调用 refill_freelist() 时,bdflush 添加到自由缓冲区中的最大缓冲数目。


refill_freelist() 512:当这个数目超过 nref_dirt 脏缓冲时,将唤醒 bdflush。

第五个 15 和最后两个参数 1884 和 2,系统未使用,我们不做修改。

age_buffer 50*HZ, age_super 参数 5*HZ:控制 Linux 把脏缓冲写到磁盘的最多等待时间。数值用时钟滴答数(jiffies)表示,每秒为 100 个 jiffies 。

OS5: bdflush settings TPC Results

Load Time (Seconds) 4.43

Transactions / Second 14.988



经过以上一系列调整后,我们得到的最终加载时间减少了 1015.35%,TPS 增加了 45.61%。
上一篇:ORACLE问题,每天10问(九) 人气:412
下一篇:ORACLE问答精选 人气:476
浏览全部Oracle教程的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-9-6 Movie34电影搜索引擎 v3.0
2008-9-6 wap2.0仿帝国建站喜用 v2.0
2008-9-6 免费人才招聘网 宽屏版 v3.01
2008-9-6 喜喔喔视频采集程序 v1.0 beta
2008-9-6 ASP客户管理系统
2008-9-6 主流驿站中秋祝福程序
2008-9-6 php实现msn协议的类
2008-9-5 Coppermine Photo Gallery v1.4.
2008-9-5 清松网络日记本 v2.4
2008-8-23 Mini WinMount V0.4
2008-8-23 Vista优化大师3.11正式版
2008-8-23 Wine 1.13
2008-8-23 KlipFolio 5.0 Build 5899-80
2008-8-23 Windows Sysinternals Desktops
2008-8-23 OneTap Movies1.2破解版
2008-8-23 AnnotaterPDF阅读1.1.503 破解版
2008-8-23 SoundMeter分贝测量仪 v1.0汉化破
2008-8-23 iDrum音乐节拍1.0破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | Html转换js | js/vbs加密 | md5加密 | 进制转换
实用工具:汉字翻译拼音 | 符号对照表 | 个税计算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵