性能测试的实施及结果分析:

首先就是测试场景的设定,主要就是对于系统各个功能在使用中他们并发所占比例进行设置,在跑单场景过程当中,先要进行递增测试,然后做一个负载测试,确定系统的一个最优点。其中主要观察的就是TPS的拐点(TPS什么时候开始稳定了或者什么时候开始下降了);监控Linux系统需要关注以下几个方面:

1、 LR经过设置可以直接监控到服务器系统,然后查看系统的一个

1.安装rsh,和rsh-server两个服务包。

a.    卸载rsh

rpm –q rsh----------查看版本号

rpm  -e 版本号---------卸载该版本。

B.安装

rpm –ivh  rsh-0.17-14.i386.rpm  rsh-server-0.17-14.i386.rpm

这两个包在我的目录下有共享。

2. 下载并安装rstatd

tar –cvf rpc.rstatd-4.0.1.tar.gz

./configure ---配置

make ---编译

make install ---安装

rpc.rstatd ---启动rstatd进程

3. 打开/etc/xinetd.conf

里面内容是:

# Simple configuration file for xinetd

#

# Some defaults, and include /etc/xinetd.d/

defaults

{

instances               = 60

log_type                = SYSLOG authpriv

log_on_success                = HOST PID

log_on_failure                = HOST

cps                        = 25 30

}

includedir /etc/xinetd.d

4.重启xinetd:

A:

service xinetd reload

B:

/sbin/service xinetd rstart

5.修改/etc/xinetd.d/下的三个conf文件  rlogin ,rsh,rexec 这三个配置文件,

打这三个文件,将里面的disable = yes都改成 disable = no     ( disabled 用在默认的 {} 中 禁止服务)

或是把# default: off都设置成 on  ,并把“#”去掉,这个的意思就是在xinetd启动的时候默认都启动上面的三个服务!

6.启动rstatd:

rpc.rstatd

7.查看rstatd是否启动:

rpcinfo –p

如果能看到:

100001    5   udp    618  rstatd

100001    3   udp    618  rstatd

100001    2   udp    618  rstatd

100001    1   udp    618  rstatd

就说明rstatd服务已经启动。可以用LR去监视了。

LR监控linux资源详解:

http://wenku.baidu.com/view/14766b7702768e9951e7387a.html

2、 系统的CPU每秒处理任务数不能超过CPU核数*0.7

3、 Linux的一个内存管理:

每个程序在请求内存时,Linux系统都会把程序所需要用到的内存和缓存之后用到的内存全部给分配过去,在内存不够用的时候,再进行释放内存。并且内存不够用的时候,他就会拿硬盘来充当内存,只要不是拿Swap(交换区)来交换内存,就不用担心内存不够用。

具体内存管理原理:

http://www.360doc.com/content/13/0129/13/9241699_263031113.shtml

4、 Free命令和Top命令下各个参数的意义以及区别:

Free命令:

Mem:物理内存的统计

-/+ buffers/cache:物理内存缓存统计

Swap:物理交换分区使用情况

total

Used

Shared

buffers

cached

free

Mem

物理内存总量

总计分配的缓存(包含buffers和cached)

共享内存

分配但是未使用的buffers

分配但是未使用的cached

未被分配的内存,但是不代表可使用的内存

-/+ buffers/cache

实际使用的内存量

可以使用的内存总和(包含未使用buffers和cached)

实际使用内存总和是总计分配的缓存量去掉分配但是未使用的buffers和cached总和;

可以使用的内存总和是分配的未使用的buffers和cached和未分配的从内存总和;

Buffers和cached的关系和区别:

它们就是等于可用的内存,作用就是提高文件的读取性能,在应用程序使用内存时,它们会很快被回收。

Buffers是用来给块设备(I/O设备的一种,是指外部存储设备以块(512到32768字节之间)为计算单位)做缓冲大小,它只记录文件系统的Metadate(元数据,也就是描述数据的数据,包括数据存储位置、历史数据、资源查找和文件记录等功能)和tracking in-flight pages也就是存储目录里面有什么内容和什么权限;

Cached是用来给文件做缓冲也就是给打开过的文件和程序进行记忆;

Top命令:

mpstat -P ALL和sar -P ALL都是查看多核cpu的命令,并且也可以用sar -P ALL>a.txt来把CPU信息发送保存到文件夹a.txt中。

Top命令之后看到系统展示结果:

第一行:系统当前时间;系统持续运行时间;当前用户登录数;展示1,5,15分钟系统负载情况(这个是load average没歌五秒钟按照算法计算得出,这个值除以逻辑CPU数如果大于5,那么系统就是在高负荷运行);

第二行:Tasks任务(进程)进程数;运行有1个,休眠状态有146个;停止的有0个;僵尸状态(记录一个已经关闭进程的运行时间等运行及关闭信息)有0个;

第三行到第七行:所有逻辑cpu使用情况;us-用户空间占用cpu占比;sy-内核空间占用cpu占比;ni-改变过优先级的进程占用cpu的百分比;id-空闲cpu百分比;wa-IO等待占用cpu百分比;hi-硬中断占cpu百分比;si-软中断占cpu百分比;

第八行:物理内存总;使用内存总;空闲内存总;文件缓存内存总;

第九行:交换区内存总;使用交换区总;空闲交换区总;缓存交换区总量;

第十一行:PID-进程id;USER-进程所有者;PR-进程优先级;NI-nice值(负值表示高优先级,正值表示低优先级);VIRT-进程使用虚拟内存总;RES-进程使用未被换出的、未被换出的物理内存大小;SHR-共享内存大小;S-进程状态(D:不可中断睡眠状态、R:运行状体、S:睡眠状态、T:跟踪,停止状态、Z:僵尸进程)%CPU-上次更新到现在CPU时间占用百分比;%MEM-进程使用的物理内存百分比;TIME+ -进程使用CPU时间总和(1/100秒);COMMAND:进程名称(命令名/命令行)。

技巧:b键-打开或者关闭加亮效果;shift + >移动左右的亮条;f键可以进入到另外一个top视图对top展示内容进行编排。

通常我们还可以通过ps和netstat两个命令查看端口和连接池情况

但是综合来说,Top消耗的系统资源比较多,如果长时间使用会占用很多系统资源。

5、 关于IOSTAT命令:

IOSTAT是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视。IOSTAT主要是用监控系统的一个整体的情况,不会对某个进程进行深度的分析。

命令:Iostat[操作][时间][次数]

-C是显示cpu的使用情况;-d是显示磁盘的使用情况;-k以KB为单位来显示;-m是以M为单位来展示;-N是磁盘列阵(LVM)信息;-n是显示NFS(网络文件管理系统)使用情况;-p[磁盘]是显示磁盘分区的情况;-t显示终端和CPU信息;-x是显示详细信息;-V是显示版本信息。

显示指定磁盘信息:iostat -d 磁盘名

查看TPS与吞吐量:iostat -d -k 1 1

查看设备使用率(%util)、相应时间:iostat -d -k -x

分析:

Vmstat

Await参数

Which 命令:查找命令位置。

Find 命令:find -name “filename”;里面加星号就是模糊查询。

6、 关注哪些进程在占用的资源。

注意:

1、 在做性能测试的过程中,一定要考虑到系统的一个极限的情况,就是在某个高并发情况下,系统会出现什么样的问题;

2、 在验证问题的时候一定要尽量在尽量接近生产环境的环境上进行验证;

3、 确认系统是否可以通过水平拓展的方式(加机器)来提高系统的处理事务的能力;

4、 可以看apache或者tomcat下面设置的access日志来查看服务器处理的请求,可以看tomcat的错误日志来确认发现的问题;

5、对于线程和进程的区别:一个进程包含多个线程,进程是直接来占用系统资源,但是线程是基本不占用系统资源,它只是在和其他线程在一个进程的资源中与同进程的线程互相竞争。进程是一个独立单元,但是线程是和其他线程共享一个独立单元,对于程序来说,线程是硬件驱动级别的程序,进程是系统运行的程序。没有线程的进程叫单线程,线程有时又叫轻权进程或轻量级进程,是CPU 调度的一个基本单位;

5、 TPS开始下降的原因也可能是因为压力机加压太多,是本身压力机资源不够用的原因。

6、 性能测试总体来说分三部分:

1、监控服务器资源(内存,CPU,磁盘,网络)

2、监控中间件(连接数等各种参数)使用WAS工具

3、监控数据库(连接数,慢查询sql,各种top)

7、 互联网常见架构:

1、lamp(Linux+Apache+Mysql/MariaDB+Perl/PHP/Python)

2、lnmp(Linux+Nginx+Mysql/MariaDB+Perl/PHP/Python)

转载于:https://www.cnblogs.com/zhangtebie/p/11185780.html

性能测试的实施及总结(二)相关推荐

  1. 软件测试性能测试实训报告,实验二:带传动性能测试实验报告

    以下为<实验二:带传动性能测试实验报告>的无排版文字预览,完整格式请下载 下载前请仔细阅读文字预览以及下方图片预览.图片预览是什么样的,下载的文档就是什么样的. 实验二: 带传动性能测试实 ...

  2. 密码应用安全性评估实施要点之二密码技术应用要求与实现要点(2)

    物理和环境安全.网络和通信安全要求与实现要点 1 物理和环境安全的要求与实现要点 1) 身份鉴别 2) 电子门禁记录数据完整性 3) 视频记录数据完整性 4) 密码模块实现 2 网络和通信安全的要求与 ...

  3. 密码应用安全性评估实施要点之二密码技术应用要求与实现要点(3)

    设备和计算安全要求与实现要点 总则 实现要点概述 1) 身份鉴别 2) 远程管理鉴别信息保密性 3) 访问控制信息完整性 4) 敏感标记完整性 5) 重要程序或文件完整性 6) 日志记录完整性 7) ...

  4. 密码应用安全性评估实施要点之二密码基本要求与实现要点(1)

    密码基本要求与实现要点(1) 1 标准介绍 2 总体要求解读 2.1 密码算法 2.2 密码技术 2.3 密码产品 2.4 密码服务 1 标准介绍 2018年2月8日,GM/T 0054-2018&l ...

  5. VmWare5.5主机Citrix桌面实施方案(二)

    三.配置数据库服务器 安装数据库服务器 分别在三台机器上安装SQL2008运行安装程序 图示3.1 点击确定继续 图示3.2 使用全新安装 图示3.3 图示3.4 输入密钥继续 图示3.5 接受条款 ...

  6. 【性能测试】Loadrunner12.55(二)-飞机订票系统-脚本录制

    1.1 飞机订票系统 Loadrunner 12.55不会自动安装飞机订票系统,要自己手动安装. 我们需要下载Web Tools以及一个小插件strawberry https://marketplac ...

  7. docker-compose 部署jmeter+grafana+prometheus/influxdb,构建性能测试可视化实时监控(二)...

    上一节我们已经部署好了grafana,prometheus,influxdb,这一节我们尝试把jmeter+influxdb+grafana打通 打通influxdb+jmeter 首先看我们熟悉的j ...

  8. 密码应用安全性评估实施要点之二密码技术应用要求与实现要点(4)

    应用和数据安全要求与实现要点 总则 实现要点概述 1) 身份鉴别 2) 访问控制信息和敏感标记完整性 3) 数据传输保密性 4) 数据存储保密性 5) 数据传输完整性 6) 数据存储完整性 7) 日志 ...

  9. 性能测试计划包含那些内容?这份从零开始实施的性能测试指南千万不能错过

    目录 一.测试背景 二.测试目的 三.测试范围 四.术语约定 五.环境说明 六.需求分析 七.测试策略 八.准备工作 九.组织架构 十.风险分析 十一.交付清单 十二.阶段进度 一.测试背景 首先要阐 ...

最新文章

  1. 检测缓存文件是否超时
  2. websockets_如何将WebSockets与AWS API Gateway和Lambda一起使用来构建实时应用程序
  3. 马斯克的星际飞船SN10又炸了,但技术却向前迈出一大步!
  4. python 模型交叉验证法_python – 交叉验证和模型选择
  5. HDU2087剪花布条
  6. extjs 表格数据重新加载_一个简单的更改让PyTorch读取表格数据的速度提高20倍:可大大加快深度学习训练的速度...
  7. angular 获取ng-repeat完成状态 $last
  8. 李猛:从MongoDB迁移到ES后,我们减少了80%的服务器
  9. 怎么创建java项目?新建java项目的步骤
  10. 干货分享!java进阶视频百度云
  11. 论文笔记——使用信息熵对复杂网络中节点进行影响力排名
  12. c++动态存储空间分配
  13. 解决RuntimeError: Tensor for ‘out’ is on CPU, Tensor for argument #1 ‘self’ is on CPU, but expected th
  14. 在Docker中配置AdGuard Home
  15. 一种基于Android、iOS平台的移动端车牌识别方法,能够在复杂背景下迅速识别多种车牌
  16. 自动化测试 —— Pytest测试框架
  17. JS实现Canvas中图片淡出效果_艾孜尔江撰
  18. 黑苹果-Minisforum u820 opencore0.6.9 config.plist
  19. J-link V7.64C Warning : the connected probe appears to be a j-link clone报错
  20. 2022新赛点:传统车企要向新势力的舒适圈开炮?

热门文章

  1. ​争夺00后社交,QQ、B站、快手谁能赢?
  2. 解决awvs安装后访问不了登录页面
  3. 庸殖状恐剐雷善菊囟蕾
  4. 后台传给前台的进度条传百分比数据
  5. 本来面目——大教堂、集市,与作坊
  6. mysql 自动生成时间戳
  7. Winform从入门到精通(17)——PictureBox(史上最全)
  8. 杜比dss200服务器重装,杜比dss200服务器恢复系统操作.pdf
  9. 【已解决】笔记本电脑连接wifi异常(无法连接到这个网络)
  10. 山东师范大学计算机尹副教授,张志军