科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件Oracle在Solaris下的性能与调整简介

Oracle在Solaris下的性能与调整简介

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

本文介绍了如何着手性能方面的考虑以及如何定位常见的性能瓶颈,还介绍了与性能密切相关一些概念,比如私有的共享内存(ISM-Intimate Shared Memory)与优先内存页面调度。

来源:IT专家网 2008年6月11日

关键字: Solaris Sun 操作系统

  • 评论
  • 分享微博
  • 分享邮件

3. 寻找性能瓶颈 

一旦你已经定义了需要解决的性能问题,下一步骤就是缩小范围到瓶颈产生的地方。 

这个阶段有必要问这样一些问题: 

应用程序能告诉我它看到哪些是瓶颈?拿Oracle作例子,一个Oracle数据库管理员应该知道BSTAT/ESTATS是什么以及如何运行和理解它们。还是那句话,从应用程序的角度来看问题,BSTATS/ESTATS可以显示限制了Oralce性能的瓶颈,这可以作为进一步分析的指导。 

大部分的时间花在哪里,是内核还是用户进程?通过vmstat、mpstat、sar、ps、prstat可以回答这个问题。 

具有相近类型的所有资源是否同样繁忙?这个问题的意义在于寻找资源的不平等分布。比如,一个磁盘可能是瓶颈所在,或者一个CPU会比其他 CPU更忙。对CPU,看mpstat。对磁盘,用iostat。哪个或哪些进程在使用最多的资源?用这些命令可以看到使用CPU和内存最多的进程: 

 ps -eo pid,pcpu,args | sort +1n 
 

CPU百分比: 

 
ps -eo pid,vsz,args | sort +1n 
 
/usr/ucb/ps aux |more 

输出被排序,使用CPU和内存最多的进程排在上面。 

Solaris 8操作环境提供了prstat,它给出CPU和内存使用情况的一个动态注解。prstat -cvm的输出结果非常有用。 

我们现在来看看怎用使常见的Solaris命令来开始性能分析。 

vmstat命令是简单的。这里我们可以看到一个对于正在执行的应用程序,CPU能力不足的例子。 

 
% vmstat 15 

procs memory page disk faults cpu 

r b w swap free re mf pi po fr de sr m0 m1 m2 m3 in sy cs us sy id 

45 0 0 2887216 182104 3 707 449 6 455 0 80 2 6 1 0 1531 5797 983 61 30 9 

58 0 0 2831312 46408 5 983 582 56 3211 0 492 0 0 0 0 1413 4797 1027 69 31 0 

55 0 0 2830944 56064 2 649 656 3 806 0 121 0 0 0 0 1441 4627 989 69 31 0 

57 0 0 2827704 48760 4 818 723 6 800 0 121 0 0 1 0 1606 4316 1160 66 34 0 

56 0 0 2824712 47512 6 857 604 56 1736 0 261 0 0 1 0 1584 4939 1086 68 32 0 

58 0 0 2813400 47056 7 856 673 33 2374 0 355 0 0 0 0 1676 5112 1114 70 30 0 

60 1 0 2816712 49464 7 861 720 6 731 0 110 7 0 3 0 2329 6131 1067 64 36 0 

58 0 0 2817552 48392 4 58