2008-04-11 Fri
I use a couple of venues to generate new material, new talking material every year. Hotsos symposium has always been one, Oracle University Seminars have been another. Oracle OpenWorld is definitely one as well.
Well, believe it or not, it is time for me to submit my abstract for Oracle OpenWorld already - even though it is not until September. So, it is time to come up with yet another topic. I've been known to do a "top ten" style presentation for a while at OpenWorld - the last few years have been top tens on 9i Release 2, 10g Releases 1 and 2 and most recently - 11g Release 1. Intermixed with that was a database 'worst practices' presentation as well.
So, now - I'm looking for some fresh ideas. A topic that can be well covered in an hour and would have broad general appeal. In reality - if I get a couple of good ideas, I'll probably generate the material for all of them but just pick one (maybe two) for presentation at OpenWorld.
So, I invite you to submit an idea - doesn't have to be fully fleshed out - just a concept, something you would find useful at a venue such as OpenWorld (or a presentation to a user group - as this is where this material will be used time and time again...)
Thanks in advance for any ideas!
Welcome, readers, to the 92nd Log Buffer, the weekly review of database blogs.
Brian “Krow” Aker started an interesting blog-thread with his post, The Death of Read Replication, the crux of which is that object caches, such as memcached, make the DBMS itself a little less central, particularly in “Web 2.0″ scenarios. “What does this mean? Less database servers. Bringing down your load means you push off the load to another tier. . . . Why do I need to go through MySQL at all… unless I just want it as a backup or for ad-hoc reporting?”
Ronald Bradford responds with an overview of the MySQL-plus-replication scene. Farhan Mashraqi concurred with Brian’s post, while Arjen also agrees, adding, “I’m not sure the new memory based MySQL storage engines coming out are so relevant, they might be fixing the wrong thing in the wrong place.”
Ronald (who, by the way, is on-deck for a his third Log Buffer on the 25th) also surveys both the storage-engine stuff to be had at the MySQL Conference, and the prevalence lately of talk about Kickfire in MySQL blogs, something also mentioned by Peter Zaitsev on the MySQL Performance Blog.
Peter has another question on his mind: should you have your swap file enabled while running MySQL? He wants to hear your approach to this matter, having himself experienced variable results. Lots of responses already.
Here on the Pythian Group Blog, Paul Moen posted about a situation in which SHOW SLAVE STATUS lies.
Moving into Oracle stuff, our Alex Gorbachev also pointed out something that doesn’t quite work: the ASMCMD cp command in ASM 11g. He sure gives it a try, but finally concludes: “I couldn’t make the cp command work even a single time.” Except maybe on datafiles.
作者:Fenng 发布在 dbanotes.net. ![]()
我算得上是 Movable Type 的忠实用户。这两年来,WordPress 快成为 独立 Blog 的标准配置了,MT 可以说每况愈下。自从升级到 MT4 之后,明显感觉 Blog 性能糟糕了很多,每一次发文章都要与 HTTP 500 错误战斗半天才能成功,读者留言也非常费劲,有段时间非常灰心丧气,都不想继续写下去了。如果说 MT 3 之前是与 SPAM 战斗,到了 MT 4 就完全是折腾性能问题了。虽然 MT 4 之后的每次小版本发布都宣称性能上有很大改进,实际表现总是欠佳。
一些常规的 MT 优化技巧 其实作用都不大,我还把 MT 用的数据库索引分析了一遍,删掉了好几个价值不大的索引,虽然不是无用功,但也解决不了问题,因为瓶颈根本不在 DB 这里。大多数 Movable Type 用户的应用场景是在 Dreamhost 上,在这个环境里要想找到应用的瓶颈还真的是个技术活。缺乏 Profiling 工具不说,如果调用某个命令消耗了资源稍微过份一点,立刻被系统 Kill 掉。
其实 MT 的设计思想还是很不错的,大部分页面都 Build 成静态页面,减少对数据库的压力。一般来说,这比 WordPress 频繁调用数据库的方式(当然 WP 是可以起用 Cache 的),应该在性能上有更好的表现才是。问题是 Dreamhost 对每个用户提供的硬件资源其实是很差的,尤其是磁盘 I/O 。我的所有页面加起来也不过几千个,如果只是访问静态页面或是数据库其实问题都不大的,麻烦出现在构建页面或者是遇到留言行为的时候,MT 会调用若干个磁盘上的模版文件,加上 Perl 本身的系统开销,消耗的资源就到了 Dreamhost 的极限,然后进程就被无情的 Kill 掉了。估计是用户群抱怨太多,从 MTOS 4.1.1 版本开始总算有了一个性能框架 专门用以分析性能问题(并且号召用户提供性能数据以便协助解决性能问题)。启用了一段时间后,收集到的 Log 响应时间典型是这样的:
MT::Template::build[Comment Response]=0.60070
MT::App::Comments::run=28.24320
Total=28.85665
或许在 I/O 不错的系统上,表现会好吧。Dreamhost 上文件都是放置在 NFS 上的,而且众多用户共用一个系统,只能将就一下。
今天看到 4.15 的改进中,已经可以 Cache Template Module 了。甘愿作小白鼠,升级。盼望这次能有效解决特定应用场景的性能问题。不过开启了性能 Log 看了半天,效果并非很显著,
--EOF--
相关文章|Related Articles
评论数量(1)|Add Comments
本文网址:http://www.dbanotes.net/sitelog/movable_type_performance.html
最近作者还说了什么? Follow Twitter / Fenng
1. 二战的品牌
2. 黄金时代
3. 基因决定定理
4. 铱星计划
5. 全线溃败
铱星计划对摩托罗拉的打击远不止十亿美元。在摩托罗拉启动铱星计划时,GSM 还没有在世界上占统治地位,美国和包括中国在内的很多国家还吃不准技术上更好的 CDMA 是否会很快替代掉 GSM 。但是,摩托罗拉由于把精力分散到了铱星上,不仅失去了和诺基亚竞争的最佳时机,而且还把一些市场丢给了三星、LG 等更新的电子公司。
当然,仅仅这一次失败、甚至在整个手机领域的失败还不至于把世界第一的无线通信公司搞垮。但是,摩托罗拉几乎同时在所有的战线上全面崩溃,便一下跌入了谷底。
在计算机处理器业务上,摩托罗拉经过多年的努力,还是最终败给了英特尔。摩托罗拉和英特尔之争在前面已经提到,我们就不再赘述了。值得强调的是,从一开始直到几年前摩托罗拉把它的半导体业务卖掉,摩托罗拉在处理器技术和产品性能上从来没有输给过英特尔,但是在商业竞争中,光有技术显然是不行的。
在数字信号处理器上,摩托罗拉最终没有竞争过老对手德州仪器。如果说中央处理器(CPU)是计算机的大脑,数字信号处理器则是我们今天手机、数字电视等产品的大脑。它在国民经济和人们生活中的重要性可想而知。
谈到数字信号处理器,业界的人都会首先想到德州仪器公司(TI)。德州仪器公司历史和摩托罗拉差不多长,经历也类似,从给军方提供无线电产品起家。八十年代初,即 AT&T 之后,TI 和摩托罗拉几乎同时推出了自己的 DSP ,TSM320 系列和 M56000 系列。德州仪器的第一代 TSM320C2X 是十六位定点处理器,在精度上略显不足,由于是定点处理器,所有的浮点计算要由编程人员改为定点实现,使用也不是很方便。摩托罗拉的 M56000 系列一开始就是 24 位,精度对于当时的应用绰绰有余,应该讲性能在 TI 产品之上。但是,学过计算机编程的人可能都知道,这种不伦不类的 24 位处理方式使用起来会很别扭。很快德州仪器推出了三十二位的 TSM320C3X 系列,虽然价钱较摩托罗拉的 DSP 贵,但是由于在 32 位处理器上开发产品容易,因此大家还是喜欢用 TI 的 DSP 。由于摩尔定理的作用,摩托罗拉 M56000 在价格上的优势越来越不明显,而它在开发成本上的劣势渐渐显示出来,在 DSP 上,它与 TI 的差距一天天拉大。我至今搞不懂为什么摩托罗拉要做上不着天、下不着地的 24 位 DSP 。也许是它考虑到客户购买的成本,但却忽视了客户使用的方便性。说得重一点,摩托罗拉低估了摩尔定理的作用,过分看重制造成本而忽视了开发成本:前者随着时间的推移而降低,后者则增加,因此它的产品从发展的角度看略逊于 TI 。另外提一句,摩托罗拉的中央处理器 68K 系列中早期的产品也是这种不伦不类的 24 位总线。
随着半导体的集成度的提高,TI 等公司将手机外围电路的芯片和 DSP 集成在一起,现在的手机主要芯片只剩下一个。TI 很像计算机领域的英特尔公司,它自己不做手机,而是像许许多多手机厂商提供核心芯片,它通过其领先的 DSP 技术,牢牢站住了世界中高端手机市场的半壁江山。摩托罗拉的战线则拉得很长,从手机芯片到手机整机一条龙。如果内部合作的好,这种做法成本固然低。但是,加尔文不是通用电气的韦尔奇,没有能力整合这么大的公司,其芯片部门和整机部门像两个单独的公司,没有足够的沟通,反而使得产品开发周期变长。摩托罗拉和德州仪器在手机芯片上的差距是渐渐拉开的,就如同它和英特尔在处理器上的竞争是慢慢失败的一样。但是,当这种差距达到一定程度后,就不可能逆转了。到 2004 年,加尔文下台时,其半导体部门被迫分离出去单独上市,就是现在的 Freescale 。后来 Freescale 的业绩依然不佳,只好被私募基金(Private Equity)买了去,这当然是后话了。
摩托罗拉长期以来形成了高工资,高福利的大锅饭,员工干好干坏差别不大。摩托罗拉的本意是想避免员工之间不必要的攀比,每个人都有一个宽松自在的环境安心工作。这是四五十年前大公司吸引人才的方式,欧洲公司至今还采用这种办法。但是这不太适合喜欢冒险的美国人。八九十年代以来,美国的科技公司为了调动知识型员工的积极性,很多采用的股票期权制(我们以后再仔细介绍)。而摩托罗拉公司很晚都没有采用这种福利,直到今天,摩托罗拉公司给员工的期权依然数量很少。这不能不说是受摩托罗拉的传统管理方式所限。因此,很多人把摩托罗拉看成一个去养老的公司而不是一个创业的公司。
摩托罗拉另一个问题是管理混乱,内斗多。虽然这是上市大公司的通病,但摩托罗拉在同行业公司中问题更严重些。大公司在竞争中,不需要做到十全十美,只要比对手好一点点就行了,而摩托罗拉却恰恰比英特尔和TI差了一点。时间一长,就露出了败相。
RAC的clusterware和oracle db软件都安装好了,今天在准备做ASM的时候遇到问题,配置好了ASM initfile,启动
instance的时候报错
oracle@hack3 dbs]$ sqlplus “/ as sysdba”
SQL*Plus: Release 10.2.0.1.0 - Production on Fri Apr 11 15:11:15 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup;
ORA-27504: IPC error creating OSD context
ORA-27300: OS system dependent operation:unsupp_mtu failed with status: 0
ORA-27301: OS failure message: Error 0
ORA-27302: failure occurred at: skgxpvaddr10
ORA-27303: additional information: requested interface eth1 mtu not supported. Check output from ifconfig command
SQL> exit
alert日志就记录下一点信息:
USER: terminating instance due to error 27504
Instance terminated by USER, pid = 13685
在metalink和google上找了一通,不知所云,从最后的错误看出,eth1网卡存在问题,他是我配置的private IP,走的刀片的高速背板,
各个接点间走private都是可以ping通的,通过ifconfig也看到各个网卡的MTU都是设定的,MTU:16896,我是个网络盲,一时也找不到方法了
回家的路上和sa涛哥聊了下MTU的问题,他一听说我机器网卡的MTU值是16896,就感觉好笑,说从来没有设置这么大的,建议我弄成1500,
太大了发送网络包就会造成数据包被拆分,影响效率,丢包率也严重
后来经过调整,立杆见影
eth0 Link encap:Ethernet HWaddr D2:94:27:00:01:15
inet addr:10.0.38.164 Bcast:10.0.38.255 Mask:255.255.255.0
inet6 addr: fe80::d094:27ff:fe00:115/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:17761 errors:0 dropped:0 overruns:0 frame:0
TX packets:832 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:2000
RX bytes:1642243 (1.5 MiB) TX bytes:102676 (100.2 KiB)
eth0:1 Link encap:Ethernet HWaddr D2:94:27:00:01:15
inet addr:10.0.38.174 Bcast:10.0.38.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
eth1 Link encap:Ethernet HWaddr D2:94:27:00:01:16
inet addr:192.168.0.3 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::d094:27ff:fe00:116/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:17522 errors:0 dropped:0 overruns:0 frame:0
TX packets:15782 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:2000
RX bytes:1674655 (1.5 MiB) TX bytes:3784944 (3.6 MiB)
SQL> startup nomount;
ASM instance started
Total System Global Area 130023424 bytes
Fixed Size 2019032 bytes
Variable Size 102838568 bytes
ASM Cache 25165824 bytes
看来没有不可能发生的事情


1. 二战的品牌
2. 黄金时代
3. 基因决定定理
4. 铱星计划
世界科技史上最了不起的、最可惜的、也许也是最失败的项目之一就是以摩托罗拉牵头的铱星计划。
为了夺得对世界移动通信市场的主动权,并实现在世界任何地方使用无线手机通信,以摩托罗拉为首的美国一些公司在政府的帮助下,于 1987 年提出的新一代卫星移动通信星座系统。我们知道,当今的移动通信最终要通过通信卫星来传输信息,为了保证在任何时候卫星能够收发信号,卫星必须保持和地球的相对位置不变。所有的同步通信卫星都必须挂在离地球三万多公里高的赤道上空。同时在地面建立很多卫星基站来联络手机和卫星。如果一个地方没有基站,比如沙哈拉沙漠里,那么手机就没有信号,无法使用。铱星计划和传统的同步通信卫星系统不同,新的设计是由 77 颗低卫星组成一个覆盖全球的卫星系统。每个卫星比同步通信卫星小得多,重量在 600-700 公斤左右,每颗卫星有三千多个信道,可以和手机直接通信(当然还要互相通信)。因此,它可以保证在地球任何地点实现移动通信。由于金属元素铱有 77 个电子,这项计划就被称为了铱星计划,虽然后来卫星的总数降到了 66 个。
这是一个非常宏伟而超前的计划,它最大的技术特点是通过卫星与卫星之间的传输来实现全球通信,相当于把地面蜂窝移动系统搬到了天上。从技术讲,铱星系统是相当了不起的,它采用星际链路。在极地,66 颗卫星要汇成一个点,又要避免碰撞,难度很高。从管理上讲,它又是一个完整的独立网, 呼叫、计费等管理是独立于各个国家通信网的。(这种独立计费再后来给它的运营带来很大麻烦。)低轨道卫星与目前使用的同步轨道卫星通信系统比较有两大优势:首先,因为轨道低,只有几百公里,信息损耗小,这样才可能实现手机到卫星的直接通信。我们现在的任何手机都不可能和三万公里以外的同步卫星直接通信;第二,由于不需要专门的地面基站,可以在地球上任何地点进行通信。1991 年摩托罗拉公司联合了好几家投资公司,正式启动了“铱星计划”。1996 年 ,第一颗铱星上天;1998 年整个系统顺利投入商业运营。美国历史上最懂科技的副总统戈尔第一个使用铱卫系统进行了通话。此前,铱星公司已经上市了,铱星公司的股票在短短的一年内大涨了四倍。铱星系统被美国《大众科学》杂志评为年度全球最佳产品之一。铱星计划开始了个人卫星通信的新时代。
从技术角度看,铱星移动通信系统是非常成功的。这是真正的科技精品。我常常想,我们这些被称为高科技公司的互联网公司做到的东西和铱星系统相比,简直就像是玩具。铱星系统在研发中,有许多重大的技术发明。应该说整个铱星计划从确立、运筹和实施都是非常成功的。但是,在商业上,从投资的角度讲,它却是个彻头彻尾的失败。这个项目投资高达五六十亿美元,每年的维护费又是几亿美元。除了摩托罗拉等公司提供的投资和发行股票筹集的资金外,铱星公司还举借债三十亿美元的债务,每月光是利息就达几千万。为了支付高额的费用,铱星公司只能将手机的价钱订在五千美元一付,每分钟的通话费定在每分钟三美元。这样,铱星公司的用户群就大大减小。直到去年,它才有二十万用户,还不及苹果iPhone一个月发展的用户多。
铱星系统投入商业运行不到一年,1999 年 8 月 13 日铱星公司就向纽约联邦法院提出了破产保护。半年后的 2000 年 3 月 18 日,铱星公司正式破产。铱星成了美丽的流星。66 颗卫星在天上自己飞了几年,终于于 2001 年被一家私募基金公司(Private Equity)以两千五百万美元的低价买下。不到铱星整个投资是六十亿美元的 1% 。作为一个与摩托罗拉无关的私营公司,铱星居然起死回生,去年实现近三亿美元的营业额和五千万的利润。(注:这里的利润是按美国会计结算方式计算出来的,盈利并不代表现金流是正数。)
铱星计划是通信史上一个流星,一个美丽的故事(A Beautiful Story)。摩托罗拉公司很聪明地利用其技术优势吸引了全世界的眼球。该计划一出炉就引起世人的广泛注目,也赢得了风险投资家的青睐。摩托罗拉为此自己拿出了十亿美元,同时钓鱼似的从投资公司有拿到近五十亿美元,从而大大降低了自己的风险。但是,在商业运作上,摩托罗拉做得很不成功。首先,市场分析现在看来就有问题,成本过高导致用户数量不可能达到预计的盈利所必需的规模。而成本过高的原因又是技术选择的失误造成的。摩托罗拉长期以来都是一个了不起的技术公司,它长于技术,但是过分相信技术的作用。铱星计划在技术上是无与伦比的,但是,过于超前市场的技术不仅导致成本过高,而且维护费用也是巨大的。另外,引入风投本身的弊端在项目的后期凸显出来,那就是投资者为了收回投资,过早将铱星系统投入商用,当时这个系统通话的可靠性和清晰度很差,数据传输速率也仅有 2.4Kps ,因此除了打电话没法做任何事,这使得潜在的用户大失所望。概况来讲,就是铱星计划太超前了,它开业的前两个季度,在全球只有一万个用户,而当初市场的分析去乐观地预计,仅在中国就能有这个数的十倍。在后期商业运作上。铱星公司问题很多,最终导致银行停止贷款、部分股东撤回投资,并导致公司在股市上停盘的致命打击。
Author:江枫 posted on Taobao.com
从Oracle9iR2开始支持Linux上的异步IO,但是Oracle9iR2和Oracle10gR1中的AIO模块默认是disable的,如果要启用必须relink一下
make -f ins_rdbms.mk async_on
make -f ins_rdbms.mk ioracle
当然,如果要关闭AIO支持,只需要使用async_off选项进行relink即可。在Oracle10gR2中AIO默认已经是开启的了。可以通过ldd或者nm来检查oracle是否已经启用了AIO支持,有输出代表已经启用
libaio.so.1 => /usr/lib64/libaio.so.1 (0x0000003ca9800000)
/usr/bin/nm $ORACLE_HOME/bin/oracle | grep io_getevent
w io_getevents@@LIBAIO_0.4
当然,Linux也必须已经安装了AIO相关的package
libaio-0.3.105-2
libaio-devel-0.3.105-2
可以通过查看slabinfo统计信息查看操作系统中AIO是否运行,slab是Linux的内存分配器,AIO相关的内存结构已经分配的话(第二列和第三列非0)说明AIO已经启用
kioctx 102 170 384 10 1 :tunables 54 27 8 : slabdata 17 17 0
kiocb 488 495 256 15 1 :tunables 120 60 8 : slabdata 33 33 120
最后,还需要在Oracle中设置相关的初始化参数来使用AIO
filesystemio_options = asynch #文件系统才需要
Author:NinGoo posted on NinGoo.net
从Oracle9iR2开始支持Linux上的异步IO,但是Oracle9iR2和Oracle10gR1中的AIO模块默认是disable的,如果要启用必须relink一下
cd $ORACLE_HOME/rdbms/lib
make -f ins_rdbms.mk async_on
make -f ins_rdbms.mk ioracle
当然,如果要关闭AIO支持,只需要使用async_off选项进行relink即可。在Oracle10gR2中AIO默认已经是开启的了。可以通过ldd或者nm来检查oracle是否已经启用了AIO支持,有输出代表已经启用
/usr/bin/ldd $ORACLE_HOME/bin/oracle | grep libaio
libaio.so.1 => /usr/lib64/libaio.so.1 (0×0000003ca9800000)
/usr/bin/nm $ORACLE_HOME/bin/oracle | grep io_getevent
w io_getevents@@LIBAIO_0.4
当然,Linux也必须已经安装了AIO相关的package
rpm -qa | grep aio
libaio-0.3.105-2
libaio-devel-0.3.105-2
可以通过查看slabinfo统计信息查看操作系统中AIO是否运行,slab是Linux的内存分配器,AIO相关的内存结构已经分配的话(第二列和第三列非0)说明AIO已经启用
cat /proc/slabinfo | grep kio
kioctx 102 170 384 10 1 :tunables 54 27 8 : slabdata 17 17 0
kiocb 488 495 256 15 1 :tunables 120 60 8 : slabdata 33 33 120
最后,还需要在Oracle中设置相关的初始化参数来使用AIO
disk_asynch_io = true
filesystemio_options = asynch #文件系统才需要
Related Articles
2008-04-10 Thu
2008-04-09 Wed
2008-04-08 Tue
AnySQL.net
DBA notes
Oracle & Starcraft
eagle's home
给你点color see see
AnySQL.net English
Oracle Scratchpad
Oracle Life
OracleDBA Blog---请享受无法回避的痛苦!
Uploads from dbanotes
Chanel [K]
xzh2000的博客
Oracle Security Blog
ERN空间
Eddie Awad's Blog
MySQL Performance Blog
The Tom Kyte Blog
del.icio.us/fenng/oracle
AIXpert
O'Reilly Databases
Red Hat Magazine
DBASupport
DB2 Magazine 中文版
developerWorks : AIX 专区的文章,教程
Pythian Group Blog » Log Buffer
车东[Blog^2]
blue_prince
玉面飞龙的BLOG
此生 今世
人生就是如此
Orange Tiger 木匠 的 移民生活
生活帮-LifeBang
Hey!! Sky!
dba on unix
Oracle Notes Wiki
Brotherxiao's Home
柔嘉维则@life.oracle.eng
Fenng's shared items in Google Reader
jametong's shared items in Google Reader
缥缈游侠-logzgh
Tanel Poder's blog: Core IT for geeks and pros
DBA Tools
ilonng
yangtingkun
NinGoo@Net
Oracle & Unix
Inside the Oracle Optimizer - Removing the black magic
Ricky's Test Blog
DBA@Taobao
存储部落
Think in 88
Alibaba DBA Team
Oracle Team @SNC
淘宝数据仓库团队
OracleBlog.cn
