1.推荐用nmon写报告

在服务器装好nmon之后,只要用nmon -f -t -s 30 -c 120 这种命令就可以监控服务器的数据,在执行命令的目录下生成一个.nmon的文件。然后从服务器把文件取下来(推荐使用FTP客户端去服务器上取文件),再用nmon analyser打开nmon文件生成一个Excel文件,可以很直观的看数据,直接写进报告,这个是比较方便写测试报告的。

2.测试过程中实时监控服务器数据找性能瓶颈

top,之后大写的P可对当前的消耗进行排序,找出最消耗资源的进程

按1后可显示每个CPU核的情况

图一

1.数据库瓶颈

可看到当前消耗最大的是mysql

那就去mysql下找当前消耗最大的SQL

mysql -u root -p回车输入密码,进入mysql

show processlist  回车 输入;回车

查高消耗的SQL show FULL processlist 回车 输入;回车

找到高消耗SQL,对SQL进行优化

2.Java进程瓶颈

如果高消耗不是数据库,而是Java进程,那就从进程找高消耗线程再由线程找堆栈,查代码找高消耗的原因

  • top命令看到高消耗的进程,找到进程PID
  • 再通过ps -mp PID -o THREAD,tid,time或top -H-p PID查看进程下线程的占用资源情况
  • 在用jstack PID |grep TID查看线程堆栈信息,然后通过查看代码定位瓶颈(PID进程ID,TID线程ID)---一般要有权限才可看,要将线程id转换成16进制的话,用printf  "%x\n" TID
  • jstack  101 >test.txt将线程dump保存下来方便分析,将其从服务器上拉下来之后用TDA工具打开可以方便快捷的分析(我使用的是visual VM工具,装入了插件TDA,TDA也可以单独使用),通过查看线程dump主要是为了查看性能消耗较大的线程都调用了哪些方法,再查看代码分析为何占用过高,看能否优化

  • heapdump(eg:jmap -histo:live pid|less、jmap -dump:format=b,file=xxx.hprof PID)

将堆dump弄下来之后用visual VM或者是jprofiler工具打开可以看到哪些是大对象,如果内存消耗过多,FULL GC频率过高的话,需要考虑从这些大对象身上去做优化。如果在本地将java服务起起来的话,这两个工具可以监控到本地java进程的消耗情况。

3.Java的内存泄漏

  • jps可以查看目前有哪些Java进程
  • jstat -gc PID查看是否有内存泄漏(jstat -gc PID 1s >test_gc.txt)

(关于新生代 & 老年代的笔记:

1.堆内存分为新生代、老年代、永久代
2.长期存活的对象会进入老年代,当minor GC之后,年龄增加一岁,加到配置的参数值时,他还活着就进入老年代
3.因为minor GC之后,新生代可能会进入老年代,所以在minor GC之前,最好确保老年代的可用内存大于新生代已占用空间
4.FULL GC一般要比minor GC耗时长10倍,而且FULL GC的时候JAVA进程不干活,所以FULL GC不能耗时太长
5.JAVA对象:伊甸园--》幸存区--》老年代
6.JVM无法为新建对象分配内存空间时,伊甸园满了,就会Minor GC,所以新生代占用率太对,那么Minor GC就会多
7.minor GC处理的是新生代,FULL GC是处理新生代跟老年代)

jstat怎么看有没有问题:

FGC不能太大,应该占整个GC(YGC+FGC)的1%到5%才正常

OC和OU关系,OU(老年代使用大小)与OC(老年代大小)很接近,JVM是存在内存泄漏的

3.监控指标

图一top命令中,Linux的负载均值(load average)需要小于核数,当大于核数就说明有性能瓶颈需要优化。

top命令,进程列表中的%CPU也不能超过核数,如图一所示31933进程%CPU是14,而我的服务器是8核的,也就是小于800,所以完全无压力,当某进程大于800时说明把所有的CPU都跑满了,说明有瓶颈,存在风险。

top命令中的%id空闲率不能小于20%

关于内存的监控,测试报告中我一直使用(memtotal-memfree)/memtotal,这个数写进报告是ok的,但其实是不准的,准确的查看应该用free -m(看available)

用其中的mem available/memtotal

PS:nmon监控会对服务器产生一定的消耗,但是top等命令一样会有资源消耗的,so~~~whatever

性能测试中的服务器数据监控相关推荐

  1. 南柯服务器压力,性能测试中AIX服务器资源监控与瓶颈分析-2

    51Testing软件测试网*Me?l]9s@Fp 2.性能瓶颈定位及实例分析51Testing软件测试网)Mk0P,K;XI#PY51Testing软件测试网CXZu5Z0W4\ 2.1 性能瓶颈定 ...

  2. 浅谈软件性能测试中关键指标的监控与分析(转)

    浅谈软件性能测试中关键指标的监控与分析 一.软件性能测试需要监控哪些关键指标? 软件性能测试的目的主要有以下三点: Ø  评价系统当前性能,判断系统是否满足预期的性能需求. Ø  寻找软件系统可能存在 ...

  3. Opserver 初探三《服务器数据监控》

    用Opserver 怎么像zabbix一样监控服务器呢,查看github官方说明,Opserver可用于连接任何支持Bosun, Orion, or direct WMI监控数据. 1 2 3 4 5 ...

  4. 服务器数据监控、业务数据监控调研

    1.Grafana[数据可视化] grafana 是一款采用 go 语言编写的开源应用,主要用于大规模指标数据的可视化展现,是网络架构和应用分析中最流行的时序数据展示工具,目前已经支持绝大部分常用的时 ...

  5. 服务器状态监控之一背景介绍及解决方案建议

    SCOM与SCVMM 一.背景介绍 XXX公司是一家外商独资企业,主要致力于高品质零售商用地产的投资.开发和管理,其在国内大部分一线及部分二级城市都有分公司或是连锁购中心,随着公司业务规模的不断壮大增 ...

  6. 基于Java的服务器应用监控系统设计与实现

    文档+任务书+开题报告+中期报告+答辩PPT+外文翻译及原文+项目源码及数据库文件 摘 要 随着各行业信息化建设的不断深入发展,单独的服务器已经再无法满足企业的需求.网络和应用规模日趋扩大,服务器网络 ...

  7. 信贷风控之数据监控与分析

    数据监控 前言 如何做数据监控 信贷风控中的业务指标 监控部署 监控数据异常分析(思路可衍生到传统数据分析) 总结 前言 无论是数据分析还是数据建模分析的工作属于前期工作,后期的维护还需要严格监控来维 ...

  8. 服务器定期监控数据_基础设施硬件监控探索与实践

    本文选自 <交易技术前沿>总第三十六期文章(2019年9月) 陈靖宇 深圳证券交易所 系统运行部 Email: jingyuchen@szse.cn 摘要:为了应对基础设施规模不断上升,数 ...

  9. 服务器性能主要指标,性能测试中服务器关键性能指标浅析

    在对互联网服务进行服务端性能测试时,主要关注两方面的性能指标: 业务指标:如吞吐量(QPS.TPS).响应时间(RT).并发数.业务成功率等 资源指标:如CPU.内存.Disk I/O.Network ...

最新文章

  1. python123数字形式转换_【Python系统学习02】数据类型与类型转换
  2. frp 路由穿透(github开源穿透软件)
  3. EXC_BAD_ACCESS调试
  4. 2.13 break和continue
  5. SqlDateTime 溢出。必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM 之间
  6. mysql到pg怎么高效_干货 | Debezium实现Mysql到Elasticsearch高效实时同步(示例代码)
  7. java中的枚举类型
  8. PHP过滤HTML标签的三种方法
  9. 守望先锋代码_使用守望台自动刷新SQL Server容器
  10. 标准盒模型与IE盒模型的区别
  11. xman_2019_format(非栈上格式化字符串仅一次利用的爆破)
  12. 蓝牙LMP响应超时 BLE_HCI_STATUS_CODE_LMP_RESPONSE_TIMEOUT
  13. php限制一天抽奖次数_PHP可以修改概率的抽奖算法(例如转盘等,个人感觉蛮好用)...
  14. 阿尔法蛋机器人tf卡_科大讯飞阿尔法蛋tys1智能机器人常见问题解答
  15. KMS激活错误解决方法
  16. 香港银行开户资料和香港银行开户多少钱和渣打银行开户流程
  17. 怎么用python画直线_python怎么画直线
  18. AMD芯片支持oracle数据库,ORACLE宣布支援AMD OPTERON处理器
  19. 高通平台SSC架构-sensor学习
  20. 计算机网络笔记手写板,电脑手写板怎么使用?莫慌!手把手教学来了

热门文章

  1. GO语言(golang)官方网站!
  2. 从子域名看百度,新浪,搜狐,QQ和网易
  3. imx6ull移植Linux系统第二篇——Linux内核的移植
  4. Selector空轮询
  5. 面向对象程序设计——埃拉托色尼筛法(C++)(已更新)
  6. “由于文件许可权错误,word无法完成保存操作”解决
  7. Android UI 切图命名规范、标注规范及单位描述
  8. 机器学习sklearn 计算recall , precison , F1
  9. 我觉得,我认为。。。
  10. 【密码资料】纳瓦霍密码