测试交流学习QQ:476879428
系统性能问题---摘自网络
上一篇 /
下一篇 2013-01-29 11:12:21
/ 个人分类:性能测试
系统性能问题基本就出在:
1.日益增长的数据请求与网络带宽的矛盾
2.日益增长的数据运算与硬件平台的矛盾
3.日益增长的数据请求与
数据库的矛盾
4.日益增长的数据请求与物理IO的矛盾
网络带宽可以适当解决,硬件之CPU,内存也可以适当解决;唯有物理IO一直不遵从摩尔定律,一直徘徊在2位数。物理读写的磁盘成为了
所有系统瓶颈的源头,找不到原因都可以赖到它的头上,硬盘瓶颈成为放之四海皆成立的定律。
即然事实不可改变,那我们只有适应,想尽办法去避免大量的IO操作,当然我们也不忘采用各种手段提高IO水平( 条带、SDD、内存库等),
但这都是在我们优化好程序及配置之后才做的事,优化程序及配置是最直接、最有效、最经济的手段,也是程序人最大的骄傲。
下面来分析一下性能问题出现的地方:
1.网络瓶颈,如带宽,流量等形成的网络环境
2.应用服务瓶颈,如中间件的基本配置
3.系统瓶颈:应用服务器,数据库服务器以及客户机的CPU,内存,硬盘等配置
4.数据库瓶颈
5.应用程序本身瓶颈
以下不考虑网络及硬件升级(花钱解决的事就不是事),下面要讨论的是如何优化IO请求从而达到系统优化
(数据库默认为
Oracle,APP默认为Web应用)。
IO请求流程:
1.APP请求——>2.DB程序处理——>3.内存访问——>4.物理IO(磁盘)
基于以上路径我们要优化的有四部分
1.减少APP请求;
2.提高DB程序性能;
3.内存使用合理;
4.物理IO就只有加磁盘条带化,引入新的存储技术(SDD、内存数据库、专门存储设备EXADATA等)
I.减少APP请求
避免不必要的数据请求;
优化业务过程;
谨慎继承基类,减少不必要的加载;
避免大对象的引用;
控制数据连接
使用缓存
II.提高DB程序性能
优化物理结构(分区、索引、冗余)
SQL请求尽可能少、返回最小化
查询器优化
避免过载
单条SQL优化
并行SQL
减少资源争用(锁、闩锁、缓存)
III.内存合理使用
JVM优化
SGA(缓存高频访问数据)
PGA(排序、散列)
AMM(人工干预自动内存管理)
IV.物理IO优化
条带化
SDD等存储技术
数据库数据文件与
日志文件存储优化
收藏
举报
TAG: