一、性能调优方法论
首先,要有站在总体高度的全局观
其次,应该采取自底向上的策略,先检查硬件、网络层面相对简单的问题,再深入到系统软件和应用软件相对复杂领域
二、性能调优指导思想
1、优化工作开始得越早,其效益也越高。同时,付出的成本也最小
2、投产后才发现的问题有可能是灾难性的
3、再好的硬件解决不了应用软件设计和开发的问题
4、千万别将性能优化全部寄托于硬件和系统层面
三、性能调优试压过程
一个正常的系统,在不断加压的过程,应该经历一下五个阶段:
第一阶段,并发用户逐渐增加,系统TPS逐步增大,直到达到最大值,这一阶段系统的相应时间不会有太大变化,会非常稳定
第二阶段,并发用户持续增加,TPS基本维持在最大值不变,但相应时间将逐步变长
第三阶段,并发用户持续增加,TPS将会有少量下降(20%以内),但是绝不能快速急剧下降,响应时间仍会逐步变长。本阶段可拒绝服务,但不能宕机
第四阶段,并发用户逐步减小,系统处理能力开始得到恢复,TPS能逐步恢复到之前的最大值,响应时间开始变短
第五阶段,压力逐步将为零,TPS继续降低,相应时间继续变快,所有占用的CPU/内存/IO资源得到释放
四、系统资源分为硬瓶颈与软瓶颈
CPU、内存、I/O是硬瓶颈。CPU利用率太高,说明存在硬瓶颈。
应用开发中,认为造成瓶颈,例如同一时刻只能处理单笔交易、串行批处理、大量的锁存在等,则是软瓶颈。此时导致了CPU、I/O利用率降低,而系统的整体吞吐量下降。
功能测试 | 压力测试 | 验收测试 | 登记测试 | APP测试
风险评估 | 漏洞扫描 | 基线检查 | 代码审计 | 渗透测试