性能测试之操作系统篇

author author     2022-07-31     242

关键词:

好的性能测试工程师一定是对操作系统有一定的了解的。对于底层的了解越深,越有实力去分析和参透各种性能问题,快速的找出性能的瓶颈。以下是我学习过程中的学习笔记,记录下我的理解过程,也欢迎大家纠正!

第一篇:基础概念篇

1.  操作系统中的系统调用、中断、上下文切换概念的含义

系统调用

在操作系统上如果想要运行你的程序,就得靠自己从面向底层硬件的代码编起,但这件事太枯燥,且不是每个人都能做到,这样操作系统就替我们做这些事情,把硬件封装,统一提供一套接口,这些接口就是系统调用;
系统调用把应用程序的请求传给内核,当操作系统接收到系统调用请求后,会让处理器进入内核模式,调用相应的内核函数完成所需的处理,当处理完成后,操作系统会让处理器返回用户模式,来执行用户代码,提高了我们写程序的效率,所以系统调用此时充当的角色就是一个接口,外面由用户程序调用,内部连接内核的其他部分,共同实现用户的请求;

中断

中断是为了设备与CPU之间的通信,是实现多道程序设计的必要条件,是CPU对系统发生的某个事件作出一种反应,CPU暂停正在执行的程序,保留现场后自动转去处理相应的事件,处理完该事件后,到适当的时候返回断点,继续完成被打断的程序;例如:读盘,读一半,盘有问题,无法读了,产生中断,解决后,程序恢复,软件错误也会中断;

特点:中断是随机的,可恢复的,自动进行处理的;

上下文切换

上下文简单来说就是一个环境,相对于进程而言,就是进程执行时的环境,具体来说就是各个变量和数据,包括进程打开的文件,内存信息等;当发生进程调度时,导致进程切换时,进程的运行环境也应及时切换,CPU切换到另外一个进程需要保存当前进程的状态并恢复另一个进程的状态:当前运行任务转为就绪状态,另一个被选定的就绪任务成为当前任务,上下文切换包括保存当前任务的运行环境,恢复将要运行任务的运行环境;允许CPU记录并恢复各种正在运行程序的状态,使它能够完成切换操作;
通常在三种情况下可能会发生上下文切换:中断处理,多任务处理,用户态切换;

 

2.  操作系统中的进程的概念,  进程都有哪些状态

进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。
进程状态
1)就绪状态(Ready)
进程已获得除处理器外的所需资源,等待分配处理器资源;只要分配了处理器进程就可执行。就绪进程可以按多个优先级来划分队列。例如,当一个进程由于时间片用完而进入就绪状态时,排入低优先级队列;当进程由I/O操作完成而进入就绪状态时,排入高优先级队列。
2)运行状态(Running)
进程占用处理器资源;处于此状态的进程的数目小于等于处理器的数目。在没有其他进程可以执行时(如所有进程都在阻塞状态),通常会自动执行系统的空闲进程。
3)阻塞状态(Blocked)
由于进程等待某种条件(如I/O操作或进程同步),在条件满足之前无法继续执行。该事件发生前即使把处理器资源分配给该进程,也无法运行.

再谈性能测试之需求调研

之前的博客聊聊性能测试开始前的准备工作,聊了一些关于性能测试开始前要做的准备工作。这篇博客,来谈谈性能测试开始前的需求调研阶段,我们要做什么,关注那些Point。。。 一、基本信息信息类型说明项目名称项目... 查看详情

性能测试--测试流程篇

一、制定目的性能测试是一项严谨的需要各团队协同配合的工作,其中包括产品、开发、运维、网络、DBA、测试等角色。从零开始实施性能测试,而性能测试流程,是最重要的一步。制定性能测试流程指南的目的,是从技术角度... 查看详情

性能测试之数据库篇-查询

  profile分析sql开销   1.使用之前先查看当前数据库的版本信息,低版本无法使用.    showversion(); 或者showvariableslike‘%version%‘2.查看profiling    showvariableslike‘%profil%‘   ; &n... 查看详情

测试需要了解的技术之基础篇一

...ux基本的知识。包括shell基础语法、linux常用命令文件网络性能、Android常用性能分析命令、Android常用自动化命令、IOS常用命令、shell数据分析实战。3.java基础。包括java语法、java面相对象编程和OOP、javaMAVEN依赖管理 查看详情

性能测试性能测试问答篇

今天想和大家分享一下性能测试过程中一些常见的问题,可以帮助性能学习初学者解决一些小疑惑。性能测试都分为哪些种类负载测试主要检查被测系统在既定负载下的性能表现,即通过逐步加压的方法,达到既定的... 查看详情

第十篇商城系统-性能测试(代码片段)

系统性能压力测试一、压力测试  压力测试是给软件不断加压,强制其在极限的情况下运行,观察它可以运行到何种程度,从而发现性能缺陷,是通过搭建与实际环境相似的测试环境,通过测试程序在同一... 查看详情

《性能测试二三谈》系列

基础篇我第一次真正意义上接触性能测试,应该是从段念老师的《软件性能测试过程详解与案例剖析》这本书开始的。相比于后来市场上的一些性能测试工具书,比如:《零成本实现性能测试-基于ApacheJmeter》、《软件性能测试... 查看详情

polardb-x全局binlog解读之性能篇(上)(代码片段)

本篇来介绍一下PolarDB-X全局binlog在性能方面的一些设计和思考,先通过几个实际的测试案例来展示全局binlog的性能情况,然后结合这些案例来深入讲解全局binlog关于优化的故事。测试准备准备一个PolarDB-X2.0实例,本文... 查看详情

nginx详解二十六:nginx架构篇之性能优化

 一、性能优化考虑点  1、当前系统结构瓶颈    通过压力测试观察指标、日志检测、性能分析  2、了解业务模式    接口业务类型、系统层次化结构  3、性能与安全 二、ab接口压力测试工具1、安装:yum... 查看详情

性能测试基础-开门篇2

性能测试工具篇:     1.商业工具-LR     LoadRunner,是一种预测系统行为和性能的负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner能够对... 查看详情

infortrendcs分布式nas集群强项之性能篇

嵌入式存储系统,集成一体化集群,性能更具优势采用自主研发的嵌入式架构,极简的IO处理指令,使得硬件发挥出最大性能。产品软件硬件一体化设计,将软件的优势与硬件优势发挥至最好状态,单套系统最高可提供100+GBps读... 查看详情

自动化测试工具之jmeter性能测试

性能测试知识点1.性能测试概念:通过自动化测试工具模拟多种正常,峰值以及异常负载条件来对系统的各项性能指标进行测试2.性能测试条件系统基础功能测试验证完成系统趋于稳定3.性能测试基本流程需求分析(1&#... 查看详情

测试开发之网络篇-常用命令

ipconfigWindows系统下,ipconfig加上/all参数,可查看本机的IP地址、掩码、默认网关、DHCP和DNS服务器等信息。Linux或mac系统下,请使用ifconfig命令代替。C:\Users\admin>ipconfig/allWindowsIPConfigurationEthernetadapterEthernet0:Connection-specificDNS 查看详情

性能测试之稳定性测试(可靠性测试)

概念首先来说说性能测试:性能是软件的一种非功能特性,他关注的不是软件是否完成了特定的功能,而是软件在完成特定功能是展示出来的及时性。及时性从不同的视角代表不同的指标:用户:响应时间系统管理员:资源利用... 查看详情

loadrunner实战篇-客户关系管理系统性能测试

系统介绍                              图1(客户关系管理系统模块关系图 查看详情

性能测试工具——loadrunner篇

...组件1、VirtualUserGenerato——r录制最终用户业务流程并创建性能2、Controller——组织、驱动、管理并发监控负载测试3、Analysis——用于查看、剖析和比较性能结果二、LoadRunner的功能1、轻松创建虚拟用户2、创建真实的负载3、定位性... 查看详情

性能测试之数据库篇-查询

  数据库性能测试,各位都有过这种经历,前台界面按照某些条件筛选查询的时候返回结果特别慢,通常情况就是数据库查询返回结果比较慢,所以先看下从前到后是怎么个查询数据流走向。首先前端界面--勾选或者添加查询... 查看详情

性能测试性能测试之性能测试指标详解(性能指标cpu内存负载磁盘)

目  录一 系统性能测试指标1.1响应时间1.2并发1.3点击量/点击率1.4吞吐量/吞吐率1.5TPS/QPS1.6PV/UV二 Linux服务器性能指标2.1CPU使用率2.2内存占用率2.3系统平均负载2.4磁盘IO2.5linux常用性能命令2.5.1CPU2.5.2内存2.5.3负载2.5.4磁盘2.5.5整体... 查看详情