![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
性能测试
文章平均质量分 88
性能测试
在路上288
这个作者很懒,什么都没留下…
展开
-
进程和线程
进程进程是⼀个具有⼀定独⽴功能的程序关于某次数据集合的⼀次运⾏活动,它是操作系统分配资源的基本单元。简单来讲进程的概念主要有两点:第⼀,进程是⼀个实体。每⼀个进程都有它⾃⼰的地址空间,⼀般情况下,包括⽂本区域(text region)、数据区域(data region)和堆栈(stack region)。⽂本区域存储处理器执⾏的代码;数据区域存储变量和进程执⾏期间使⽤的动态分配的内存;堆栈区域存储着活动过程中调⽤的指令和本地变量。第⼆,进程是⼀个“执⾏中的程序”。程序是⼀个没有⽣命的实体,只原创 2021-10-06 11:31:36 · 61 阅读 · 0 评论 -
Linux之软中断
中断其实是一种异步的事件处理机制,可以提高系统的并发处理能力。由于中断处理程序会打断其他进程的运行,所以,为了减少对正常进程运行调度的影响,中断处理程序就需要尽可能快地运行。如果中断本身要做的事情不多,那么处理起来也不会有太大问题;但如果中断要处理的事情很多,中断服务程序就有可能要运行很长时间。特别是,中断处理程序在响应中断时,还会临时关闭中断。这就会导致上一次中断处理完成之前,其他中断都不能响应,也就是说中断有可能会丢失。软中断为了解决中断处理程序执行过长和中断丢失的问题,Linux 将中断处理过原创 2021-10-04 11:01:33 · 746 阅读 · 0 评论 -
CPU 上下文切换
Linux 是一个多任务操作系统,它支持远大于 CPU 数量的任务同时运行。当然,这些任务实际上并不是真的在同时运行,而是因为系统在很短的时间内,将 CPU 轮流分配给它们,造成多任务同时运行的错觉。而在每个任务运行前,CPU 都需要知道任务从哪里加载、又从哪里开始运行,也就是说,需要系统事先帮它设置好 CPU 寄存器和程序计数器(Program Counter,PC)。CPU 寄存器,是 CPU 内置的容量小、但速度极快的内存。而程序计数器,则是用来存储 CPU 正在执行的指令位置、或者即将执行的下一原创 2021-10-03 08:52:09 · 78 阅读 · 0 评论 -
Linux内存工作原理
内存映射我们通常所说的内存容量,其实指的是物理内存。物理内存也称为主存,大多数计算机用的主存都是动态随机访问内存(DRAM)。只有内核才可以直接访问物理内存。Linux 内核给每个进程都提供了一个独立的虚拟地址空间,并且这个地址空间是连续的。这样,进程就可以很方便地访问内存,更确切地说是访问虚拟内存。虚拟地址空间的内部又被分为内核空间和用户空间两部分,不同字长(也就是单个 CPU 指令可以处理数据的最大长度)的处理器,地址空间的范围也不同。比如最常见的 32 位和 64 位系统,下图所示表示它们的虚拟原创 2021-10-03 08:52:46 · 268 阅读 · 0 评论 -
Linux I/O工作原理(下)
磁盘性能指标衡量磁盘的性能,有五个常见指标:使用率、饱和度、IOPS、吞吐量以及响应时间等。这五个指标,是衡量磁盘性能的基本指标。使用率:是指磁盘处理 I/O 的时间百分比。过高的使用率(比如超过 80%),通常意味着磁盘 I/O 存在性能瓶颈。饱和度:是指磁盘处理 I/O 的繁忙程度。过高的饱和度,意味着磁盘存在严重的性能瓶颈。当饱和度为 100% 时,磁盘无法接受新的 I/O 请求。IOPS(Input/Output Per Second):是指每秒的 I/O 请求数。吞吐量:是指每秒的 I/原创 2021-10-03 08:53:54 · 121 阅读 · 0 评论 -
Linux I/O是工作原理(上)
磁盘是可以持久化存储的设备,根据存储介质的不同,常见磁盘可以分为两类:机械磁盘和固态磁盘。第一类,机械磁盘,也称为硬盘驱动器(Hard Disk Driver),通常缩写为 HDD。机械磁盘主要由盘片和读写磁头组成,数据就存储在盘片的环状磁道中。在读写数据前,需要移动读写磁头,定位到数据所在的磁道,然后才能访问数据。显然,如果 I/O 请求刚好连续,那就不需要磁道寻址,自然可以获得最佳性能。这其实就是我们熟悉的,连续 I/O 的工作原理。与之相对应的,当然就是随机 I/O,它需要不停地移动磁头,来定位数原创 2021-10-03 08:56:20 · 82 阅读 · 0 评论 -
Linux网络子系统收发数据包的流程
同 CPU、内存以及 I/O 一样,网络也是 Linux 系统最核心的功能。网络是一种把不同计算机或网络设备连接到一起的技术,它本质上是一种进程间通信方式,特别是跨系统的进程间通信,必须要通过网络才能进行。网络模型为了解决网络互联中异构设备的兼容性问题,并解耦复杂的网络包处理流程,OSI 模型把网络互联的框架分为应用层、表示层、会话层、传输层、网络层、数据链路层以及物理层等七层,每个层负责不同的功能。其中,应用层:负责为应用程序提供统一的接口。表示层:负责把数据转换成兼容接收系统的格式。会话层,负原创 2021-10-03 08:55:55 · 477 阅读 · 0 评论 -
Linux 文件系统工作原理
磁盘为系统提供了最基本的持久化存储。文件系统则在磁盘的基础上,提供了一个用来管理文件的树状结构。索引节点和目录项文件系统,本身是对存储设备上的文件,进行组织管理的机制。组织方式不同,就会形成不同的文件系统。在 Linux 中一切皆文件。不仅普通的文件和目录,就连块设备、套接字、管道等,也都要通过统一的文件系统来管理。为了方便管理,Linux 文件系统为每个文件都分配两个数据结构,索引节点(index node)和目录项(directory entry)。它们主要用来记录文件的元信息和目录结构。索原创 2021-10-03 08:55:37 · 337 阅读 · 0 评论 -
网络性能优化的几个思路(下)
下面接着上篇文章来写:传输层传输层最重要的是 TCP 和 UDP 协议,所以这儿的优化,其实主要就是对这两种协议的优化。TCP 协议的优化TCP 提供了面向连接的可靠传输服务。要优化 TCP,首先要掌握 TCP 协议的基本原理,比如流量控制、慢启动、拥塞避免、延迟确认以及状态流图等。下面,分几类情况详细说明。**第一类,**在请求数比较大的场景下,可能会看到大量处于 TIME_WAIT 状态的连接,它们会占用大量内存和端口资源。这时,我们可以优化与 TIME_WAIT 状态相关的内核选项,比如采原创 2021-10-03 08:55:18 · 930 阅读 · 0 评论 -
网络性能优化的几个思路(上)
找到网络性能瓶颈后,下一步要做的就是优化了,也就是如何降低网络延迟,并提高网络的吞吐量。以下为优化网络性能问题的思路和一些注意事项。确定优化目标网络性能优化的目标是什么?也就是说,我们观察到的网络性能指标,要达到多少才合适呢?实际上,虽然网络性能优化的整体目标,是降低网络延迟(如 RTT)和提高吞吐量(如 BPS 和 PPS),但具体到不同应用中,每个指标的优化标准可能会不同,优先级顺序也大相径庭。比如NAT 网关,由于其直接影响整个数据中心的网络出入性能,所以 NAT 网关通常需要达到或接近线性转原创 2021-10-03 08:55:00 · 481 阅读 · 0 评论 -
网络中的性能指标
前面的文章中描述了网络中数据包的收发流程,下面记录下在性能测试中,网络的性能指标。我们通常用带宽、吞吐量、延时、PPS(Packet Per Second)等指标衡量网络的性能。带宽:表示链路的最大传输速率,单位通常为 b/s (比特 / 秒)。吞吐量:表示单位时间内成功传输的数据量,单位通常为 b/s(比特 / 秒)或者 B/s(字节 / 秒)。吞吐量受带宽限制,而吞吐量 / 带宽,也就是该网络的使用率。延时:表示从网络请求发出后,一直到收到远端响应,所需要的时间延迟。在不同场景中,这一指标可能会原创 2021-10-03 08:54:37 · 1724 阅读 · 0 评论