View Code? Open in Web Editor
NEW
This project forked from linlin547/performance_analysis
性能测试经验汇总
performance_analysis's Introduction
我的性能测试经验分享
闲扯:
- 性能测试门槛较高,选择前还是要谨慎,那么看下一名合格的性能测试工程师要求:
- 硬件大概信息,当硬件出现性能瓶颈后,提出可供替代硬件方案信息建议
- 系统框架的优劣势,以及框架下各模块的合理配置优化建议
- 上面这条好高大上,要完成这样任务的门槛也不低,我们来看下:
- 编程语言:Java,C,C#,C++,PHP,你不知道以后的工作他们哪个会出现在你的视线中.....
- Java,php占比较高,目前的主流互联网公司都在用Java,创业公司PHP会多一些
- C,C#,C++,如果你不是去做银行的外包项目或者游戏公司,这部分一般用不到滴。
- 服务端: Tomcat,Apache,IIS,Nginx,Mybatis,servlet,这些可不是要求你拼写单词哦~
- 数据端:Oracle,Mysql,Sqlserver,Postgresql,Mongodb,Redis,Mercache
- 好吧,这样的性能测试工程师至少我还没有见过,但我认为至少掌握以下硬性技能内容:
- 性能测试工具的选择,以及掌握编写脚本的语言
- 公司项目框架基本了解,数据的流转以及存储
- 项目所用服务配置以及优化方法--参数辣么多记不住,其实网络上可以找到很多有用的信息,优化还是需要自身积累
- 服务端所用编程语言需要你本身具备该技能--当然low点的办法是拉个后台开发人员陪你一起
- 项目所用数据库的合理配置和优化方法 -- 本文后面可供查询了解
- 专职性能还好,如果说你想大包大揽,那么你不仅累,还要维护很多的知识,很痛苦,我还在挣扎中....
- ####编写已用4小时,分享个bootstrap编写的github主页(记录我的职业生涯中积累的点点滴滴~):
导读目录:
- 性能测试划分
- 性能测试准备工作
- 性能测试常见问题
- Linux监控
- 数据库监控
- 服务器参数配置
前端性能框架:
- Selenium+YSlow+ShowSlow实现页面性能评估自动化,还是不错的工具。
1.性能测试划分
- 配置测试:硬件选型,软件参数配置(数据库,服务器配置)
- 基准测试:以前版本作为基准
- 负载测试:找系统瓶颈,评估性能指标,更多的是过程,阶梯式
- 压力测试:高负载是压力,让系统崩溃,看恢复能力以及时间
2.性能测试前评估
- 关键业务
- 日PV量
- 逻辑复杂度
- 运营推广
- 内存和CPU消耗高的业务
3.通常问题
4.性能排查思路
- 当性能指标出现拐点时:
- 负载机硬件资源
- 网络瓶颈 -- 观察网络吞吐量计算
- 服务器硬件资源 -- cpu,内存,磁盘
- 数据库服务器硬件资源 -- cpu,内存,磁盘
- 服务器的各项参数配置,若分布式需检查配置是否生效,以及请求分配规则是否合理
- 数据库各项性能指标 -- 下面有细节分析过程
- sql反推到代码块
- 第三方监控工具,监控运行代码;例如:jprofiler(java) xhprof(php)
5.性能测试结果分析以及定位
- 数据库相关优化信息(向DBA靠近)
- 闲谈:
- 数据库很多种,常用也就几种,但作为测试想去做好调优同样不现实,关键性指标是我们提出合理化建议的武器
正确的职责定位会让你有更好的进步空间
- 面试常会被问到而且有意思的sql
- mysql: select * from 表名 where 条件 order by 字段 limit 1,3(指针从1开始,取3条记录)
- postgresql: select * from 表名 where 条件 order by 字段 limit 2 OFFSET 0(指针从0开始,取2条记录)
- sqlserver: select top 10 * from ( select top 20 * from 表明 order by 字段q asc) a order by 字段q desc(取10到19条记录)
- oracle: select * from (select rownum as rn,id from 表名 where 条件 order by 字段) where rn=行数 ( 或者 rn between n and m (取第n到第m条记录))
- 数据库通常监控指标:
- 数据库连接数
- 慢查询sql
- 线程池大小
- 每秒事务数
- QueryCache命中率
- 锁定状态
- 数据库常用性能策略:读写分离
- 服务器相关参数优化
performance_analysis's People
Contributors