性能优化总纲(转)

性能优化总论

一谈到优化,就首先要有问题,这里谈到性能优化,那么就先有性能问题。性能优化涉及到的问题有以下几个:

(1)怎么衡量一个系统的性能指标,怎么评价一个系统到底有没有性能问题。

(2)怎么通过性能测试得出系统的性能指标,从性能测试结果得出的系统到底有没有性能问题?有哪几方面的性能问题。

(3)知道系统有哪些性能问题后,怎么找出具体影响系统性能的详细原因呢?

(4)怎么解决影响系统性能的因素呢?





性能指标





性能测试





性能监控





性能调优



1.硬件网络层面

1.1 网络带宽(路由器是采用百兆还是千兆速率)





1.2 是否采用磁盘阵列(特别是数据库很容易出现瓶颈)





1.3 机器的网卡是采用百兆网卡还是千兆网卡





1.4 应用服务器的发送和接收是否采用两个独立的网卡





2.操作系统层面

2.1 操作系统最大Socket数设置



2.2 操作系统Socket关闭等待时间设置





3.WEB容器层面

3.1 是否采用本地的IO读



3.2 是否采用容器提供的连接池



3.3 容器的运行模式是否生产模式





4.数据库层面

4.1 数据库连接最大数设置



4.2 回滚段大小设置



4.3 共享SGA大小设置



4.4 数据切分(水平切分、垂直切分)



4.5 使用索引





5.J2EE程序层面



5.1 前台技术

5.1.1 减少HTTP请求的次数

(1) 合并Javascript/CSS以减少请求次数
(2) 合并前台请求次数成一次操作


5.1.2 减少网络数据的传输量

(1) 将大JSP页面的JS挪到JS文件
(2) 将JS文件进行压缩传输
(3) 最小化JS文件的大小(去掉空格和替换变量名等)





5.2 后台技术

5.2.1 减少数据库访问次数

(1) 使用数据缓存的存取方式
(2) 使用批量处理的方式

5.2.2 减少SQL语句的执行时间

(1) 使用占位符的访问方式


5.2.3 减少程序执行的时间

(1) 使用异步调用代替同步调用

猜你喜欢

转载自xgbjmxn.iteye.com/blog/1539625