性能

 

性能测试的目标:

  提供服务的系统,扛得住任何时候大批量线上用户的正常访问。

  系统稳定性:长时间一定并发量访问下,系统是否会崩溃;

  系统性能:事务处理时间、服务器cpu、服务器内存等

 

影响性能因素:

  1、代码逻辑、代码实现;

  2、数据库;

  3、资源:系统配置(CPU、内存、硬盘IO)、网络带宽等。

 

涉及类别:

  1、负载:不同负载下,系统表现;

  2、压力:极限负载下,系统表现;

  3、稳定:长时间一定负载下,系统表现。

 

执行计划:

  1、了解系统架构,数据流链路;

  2、明确性能测试需求:达到怎样的性能指标?指标哪里来?来源靠不靠谱?(用户行为分析、评估量、友商or竞争对手量、经验值等);

  3、场景设计、工具选择、脚本编写、仿真环境准备(机器配置、机器数量、依赖方服务配置、数据库数据、仿真数据等);

  4、执行测试脚本;

  5、采集数据:QPS、CPU、内存、错误率、链路中各服务的响应时间、数据库执行时间等;

  6、分析数据,给出结论。

 

常见问题:

  1、线性、指数方式内存泄漏;

  2、代码存在无限循环、死闭环;

  3、资源遗漏:数据库操作、流操作未关闭;

  4、中间层、依赖方问题;

  5、资源配置:分配不足、或过度分配;

  6、线程阻塞、死锁;

  7、服务器配置;

  ......

查看nginx每秒请求数: tail -f access.log | awk '{print $4}' | uniq -c

查看cpu idle: vmstat 1

查看内存:free -m(free -m | grep "Mem" | awk -F" " '{print "totle:"$2,"used:"$3,"free:"$4,"shared:"$5,"buff/cache:"$6,"available:"$7}')

查看进程:top、ps -aux | grep xxxx

查看nginx某接口访问数量:cat access.log | grep xxxx | wc -log

查看TIME_WAIT数量:ss -s 或 netstat -tnlp | grep TIME_WAIT | wc -l

查看文件或文件夹大小:du -sh 文件或文件夹

 
原文地址:https://www.cnblogs.com/fqfanqi/p/12341607.html