精华内容
下载资源
问答
  • 容量大类型多存取速度快
    千次阅读
    2021-07-17 06:32:04

    计算机的存储容量通常是指随机存取存储器(RAM)的容量,它是存储栏的关键参数。内存容量以MB为单位,可以缩写为M。内存容量通常是2的幂,例如64MB,128MB,256MB等。一般来讲,内存容量越大,越有利于操作系统的

    当前,台式计算机中使用的主流内存容量为256MB或512MB,很少使用64MB和128MB的内存。系统以字节(byte)为单位识别内存,每个字节由8位二进制数字(即8bit)组成。

    内存:在计算机的结构中,有一个非常重要的部分,那就是内存。内存是用于存储程序和数据的组件。对于计算机,只有具有内存的计算机才能具有内存功能并确保正常运行。存储类型很多,根据用途可以分为主存储和辅助存储。主存储器也称为内部存储器(称为内存),辅助存储器也称为设备的性能指标和系统软件的配置。此设备的性能指标和系统软件的配置。此外,指标不是相互隔离的。在实际应用中,应该将它们放在一起考虑,并且必须遵循“性能价格比”的原则。参考:Net Center

    RAM,选择B。

    随机存取存储器是直接与CPU交换数据的内部存储器,也称为主存储器(内存)。它可以随时读写,速度非常快,通常用作操作系统或其他正在运行的程序的临时数据存储介质。

    计算机的主存储器用于加载各种程序和数据,以使CPU直接运行和使用。

    扩展信息:

    关闭电源后,RAM无法保留数据。如果需要保存数据,则必须将它们写入长期存储设备(例如硬盘)。与RAM和ROM相比,两者之间最大的区别在于,断电后RAM中存储的数据会自动消失,而长时间断电后ROM不会自动消失。

    动态MOS存储单元使用MOS管的栅极电容来存储信息,但是由于栅极电容非常小,并且泄漏电流不能绝对等于零,因此电荷保留时间受到限制。为了避免丢失存储的信息,必须定期向电容器补充泄漏的电荷。

    这种操作通常称为“刷新”或“再生”。因此,DRAM必须在内部具有刷新控制电路,并且其操作比静态RAM更为复杂。尽管如此,由于可以使DRAM存储单元的结构非常简单,使用的组件少,功耗低,因此它已成为大容量RAM的主流产品。

    本文来自电脑杂谈,转载请注明本文网址:

    http://www.pc-fly.com/a/dianqi/article-356022-1.html

    更多相关内容
  • 微机系统中存取容量最大的部件是()

    千次阅读 2021-06-16 10:01:33
    随机存取内存 16速度快,分辨率高的打印机类型是() A.非击打式 B.激光式 C.击打式 D.点阵式 17所谓的64位机是指该计算机所用的CPU() A.同时能处理64位二进制数 B.具有64位寄存器 C.只能处理64位二进制定点数 D.有64个...

    1目前使用的大多数打印机是通过()接口与计算机连接的.

    A.串行

    B.并行口

    C.IDE接

    D.SCSI接口

    2目前世界上不同型号的计算机,就其工作原理而言,一般都认为是基于冯·诺伊曼提出的()

    A.二进制原理

    B.布尔代数原理

    C.摩尔定律

    D.存储程序控制原理

    3目前微机所用的总线标准有多种,下面给出的四个缩写名中不属于描述总线标准的是()

    A.VGA

    B.USB

    C.ISA

    D.PCI

    4内存按工作原理可以分为()这几种类型.

    A.RAM和BIOS

    B.BIOS和ROM

    C.CMOS和BIOS

    D.ROM和RAM

    5内存的大部分由RAM组成,其中存储的数据在断电后()丢失.

    A.不会

    B.部分

    C.完全

    D.不一定

    6内存中每个基本单位都被赋予唯一的序号,称为()

    A.地址

    B.字节

    C.编号

    D.容量

    7能描述计算机的运算速度的是()

    A.二进制位

    B.MIPS

    C.MHz

    D.MB

    8能直接与CPU交换信息的功能单元是()

    A.硬盘

    B.控制器

    C.主存储器

    D.运算器

    9配置高速缓冲存储器(cache)是为了解决()

    A.内存与辅助存储器之间速度不匹配问题

    B.CPU与辅助存储器之间速度不匹配问题

    C.CPU与内存储器之间速度不匹配问题

    D.主机与外设之间速度不匹配问题

    10人们根据特定的需要预先为计算机编制的指令序列称为()

    A.软件

    B.文件

    C.程序

    D.集合

    11人们通常说的计算机的内存,指的是()

    A.ROM

    B.CMOS

    C.CPU

    D.RAM

    12扫描仪是属于()

    A.CPU

    B.存储器

    C.输入设备

    D.输出设备

    13输入设备是()

    A.从磁盘上读取信息的电子线路

    B.磁盘文件等

    C.键盘、鼠标器和打印机等

    D.从计算机外部获取信息的设备

    14输入输出装置和外接的辅助存储器统称为()

    A.CPU

    B.存储器

    C.操作系统

    D.外围设备

    15数据一旦存入后,非经特别处理,不能改变其内容,所存储的数据只能读取,但无法将新数据写入,所以叫做()

    A.磁芯

    B.只读存储器

    C.硬盘

    D.随机存取内存

    16速度快,分辨率高的打印机类型是()

    A.非击打式

    B.激光式

    C.击打式

    D.点阵式

    17所谓的64位机是指该计算机所用的CPU()

    A.同时能处理64位二进制数

    B.具有64位寄存器

    C.只能处理64位二进制定点数

    D.有64个存储器

    18通常将运算器和()合称为中央处理器,即CPU.

    A.存贮器

    B.输入设备

    C.输出设备

    D.控制器

    19通常所说的PC机是指()

    A.单板计算机

    B.小型计算机

    C.个人计算机

    D.微型计算机

    20外存储器中的信息,必须首先调入(),然后才能供CPU使用.

    A.RAM

    B.运算器

    C.控制器

    D.ROM

    21外存与内存有许不同之处,外存相对于内存来说以下叙述()不正确.

    A.外存不怕停电,信息可长期保存

    B.外存的容量比内存大得多,甚至可以说是海量的

    C.外存速度慢,内存速度快

    D.内存和外存都是由半导体器件构成

    22完整的计算机系统包括()

    A.硬件系统和软件系统

    B.主机和外部设备

    C.主机和程序

    D.人和机器

    23完整的计算机硬件系统一般包括外部设备和()

    A.运算器的控制器

    B.存储器

    C.主机

    D.中央处理器

    24微处理器处理的数据基本单位为字.一个字的长度通常是()

    A.16个二进制位

    B.32个二进制位

    C.64个二进制位

    D.与微处理器芯片的型号有关

    25微机硬件系统中地址总线的宽度对()影响最大.

    A.存储器的访问速度

    B.CPU可直接访问的存储器空间大小

    C.存储器的字长

    D.存储器的稳定性

    26微机硬件系统中最核心的部件是()

    A.内存储器

    B.输入输出设备

    C.CPU

    D.硬盘

    27微机在工作中,由于断电或突然死机而重新启动后,则计算机()中的信息将全部消失.

    A.ROM和RAM

    B.ROM

    C.硬盘

    D.RAM

    28微机中,主机是由微处理器与()组成.

    A.运算器

    B.磁盘存储器

    C.软盘存储器

    D.内存储器

    29微机中的硬盘是()

    A.内存(主存储器)

    B.大容量内存

    C.辅助存储器

    D.CPU的一部分

    30微机中使用的鼠标器一般连接在计算机的主机()上.

    A.并行I/O口

    B.串行接口

    C.显示器接口

    D.打印机接口

    31微型计算机必不可少的输入/输出设备是()

    A.键盘和显示器

    B.键盘和鼠标

    C.显示器和打印机

    D.鼠标和打印机

    32微型计算机常用的输入设备和输出设备分别是()

    A.键盘和打印机

    B.鼠标器和显示器

    C.键盘,显示器和打印机

    D.显示器和打印机

    33微型计算机存储器系统中的Cache是()

    A.只读存储器

    B.高速缓冲存储器

    C.可编程只读存储器

    D.可擦除可再编程只读存储器

    34微型计算机的存储系统一般指主存储器和()

    A.累加器

    B.辅助存储器

    C.寄存器

    D.RAM

    35微型计算机的发展是以()的发展为表征的.

    A.微处理器

    B.软件

    C.主机

    D.控制器

    36微型计算机的基本组成是()

    A.主机、输入设备、存储器

    B.微处理器、存储器、输入输出设备

    C.主机、输出设备、显示器

    D.键盘、显示器、打印机、运算器

    37微型计算机的性能主要取决于()的性能.

    A.内存储器

    B.CPU

    C.外部设备

    D.外存储器

    38微型计算机的运算器、控制器及内存储器统称为()

    A.CPU

    B.ALU

    C.主机

    D.GPU

    39微型计算机没有的总线是()

    A.地址总线

    B.信号总线

    C.控制总线

    D.数据总线

    40微型计算机内存储器()

    A.按二进制数编址

    B.按字节编址

    C.按字长编址

    D.根据微处理器不同而编址不同

    41微型计算机硬件系统的基本组成是()

    A.主机、输入设备、存储器

    B.CPU,存储器、输入设备、输出设备

    C.主机、输出设备、显示器

    D.键盘、显示器、打印机、运算器

    42微型计算机硬件系统的性能主要取决于()

    A.微处理器

    B.内存储器

    C.显示适配卡

    D.硬磁盘存储器

    43微型计算机硬件系统中最核心的部件是()

    A.主板

    B.CPU

    C.内存储器

    D.I/O设备

    44微型计算机硬件系统主要包括存储器、输入设备、输出设备和()

    A.中央处理器

    B.运算器

    C.控制器

    D.主机

    45微型计算机中,RAM的中文名字是()

    A.随机存储器

    B.只读存储器

    C.高速缓冲存储器

    D.可编程只读存储器

    46微型计算机中,控制器的基本功能是()

    A.存储各种控制信息

    B.传输各种控制信号

    C.产生各种控制信息

    D.控制系统各部件正确地执行程序

    47微型计算机中,运算器的主要功能是进行()

    A.逻辑运算

    B.算术运算

    C.算术运算和逻辑运算

    D.复杂方程的求解

    48微型计算机中使用的打印机是连接在()

    A.并行接口上

    B.串行接口上

    C.显示器接口上

    D.键盘接口上

    49我们通常说的内存条即指()

    A.ROM

    B.EPROM

    C.PPROM

    D.RAM

    展开全文
  • 1数概234数数产数应大数据的基本概念国务院促进大数据发展行动纲要 大数据是以容量大类型多存取速度快应 用价值高为主要特征的数据集合正快速发展 为对数量巨大来源分散格式多样的数据进 行采集存储和关联分析从中...
  • 1 联网 产 发 1 数 概 2 数 3 数 产 4 数 应 大数据的基本概念 国务院 促进大数据发展行动纲要 大数据是以容量大类型多存取速度快应 用价值高为主要特征的数据集合正快速发展 为对数量巨大来源分散格式多样的数据进 ...
  • 内存和存储器在计算机中扮演不同的角色。内存可以满足临时数据访问需求,而存储器可以长期保留数据和其他文件。内存和存储器这两个术语均指计算机的内部存储空间。...系统内存通常被称为随机存取存储器(RAM),其...

    89a66c00e6533260f9c278a9e8577e7c.gif

    内存和存储器在计算机中扮演不同的角色。内存可以满足临时数据访问需求,而存储器可以长期保留数据和其他文件。

    内存和存储器这两个术语均指计算机的内部存储空间。内存是应用程序在处理过程中放置其使用的数据的地方。而存储器是存放数据以便长期或短期保留的地方。

    传统上,存储驱动器是机械硬盘(HDD),但是现在,带有闪存模块的固态硬盘(SSD)通常用于主存储。系统内存通常被称为随机存取存储器(RAM),其存取速度比硬盘或闪存更快,但通常单位容量的价格也更高。

    内存与存储器之间的主要区别在于关闭操作系统后数据将发生什么变化。内存通常是易失性的,这意味着仅在操作系统运行时才保留数据。存储器通常是非易失性的,因此在操作系统关闭时它们会保留数据。

    内存和存储器之间的界限由于诸如分页(也称为交换空间)之类的技术而变得模糊。交换空间是存储驱动器的一部分,该存储驱动器被转换为内存,以供操作系统将应用程序和数据从活动内存交换到驱动器。这样,存储驱动器可以用作活动内存,其速度比系统内存要慢,但可用于创建更大的虚拟内存空间。大多数操作系统将创建等于计算机内存空间两倍的交换或分页空间。

    71b6f8f7ab76cdfd79c11fa82c452929.png

    什么是内存?

    随机存取存储器(RAM)是计算机中存储操作系统、应用程序和数据以供处理的内存硬件。当计算机启动时,它通常从存储介质将这些文件加载到内存中。当计算机关闭或断电时,文件将存储能在存储设备中。

    内存用作计算机的短期存储器,与用于存储数据的机械硬盘(HDD)、固态硬盘(SSD)和其他类型的硬盘驱动器相比,其读写速度要快得多。计算机的CPU依靠内存来快速获取其需要运行的数据和应用程序。

    内存由组合成内存模块的微芯片组成。这些模块插入计算机的主板,然后通过总线连接到CPU。与存储容量相比,计算机上的内存容量通常较小。当计算机使用所有可用内存时,处理器必须将旧数据从内存复制到存储设备中,并用新数据替换。这个过程会减慢计算机的运行速度,但是大多数计算机都有额外的插槽来添加更多的内存以解决这个问题。

    计算机的主内存通常由动态随机存取存储器(DRAM)模块组成。计算机还具有用于高速数据处理的缓存,该缓存由比动态随机存取存储器(DRAM)更快的高性能静态随机存取存储器(SRAM)模块组成。经常将用于高性能操作的指令和数据移至高速缓存,该高速缓存在物理上比动态随机存取存储器(DRAM)更靠近CPU。CPU可以比从主存储器上访问指令和数据文件更快地从静态随机存取存储器(SRAM)访问它们。其高速缓存是随机存取存储器(RAM)的10到100倍。只需几纳秒即可响应CPU请求。

    计算机系统还包括只读存储器(ROM),它保存着只能在ROM中读取的文件,例如系统固件或BIOS程序。可以通过称为刷新的过程来更新只读存储器(ROM)中的信息,但在其他情况下,它只能由计算机系统读取,而不能写入。其他类型的内存可以用作存储驱动器,可以存储从MP3和图片文件到演示文稿和其他数据。这些格式包括USB闪存驱动器、Compact闪存或记忆棒。

    什么是存储器?

    如果计算机仅具有内存,则用户每次登录时都需要重新输入他们想要使用的所有数据和应用程序。存储使计算机可以保留运行计算机并启用应用程序所需的数据、应用程序、文档和其他材料,可以无限期地保留,并且在断电或计算机重置时将保留它。计算机存储是指存储的数据以及用于捕获、管理数据和确定数据优先级的硬件和软件。

    计算机上的存储器通常由存储设备(例如SSD硬盘或HDD硬盘)组成。HDD硬盘将数据存储在旋转磁盘上,而SSD硬盘将数据存储在闪存芯片上。存储设备提供了非易失性内存,即使在没有电源和计算机关闭的情况下,也可以保留数据。

    通常情况下,存储器的存取速度要比内存慢,而HDD硬盘的存取速度则要比基于闪存的SSD硬盘慢。与内存不同,存储器并不直接连接到CPU。将存储器连接到CPU的接口也会影响存储器的速度。SATA接口多年来一直是SSD硬盘和HDD硬盘的标准接口。随着NVMe技术的出现,这种情况在过去十年中开始改变。

    NVMer技术针对NAND闪存进行了优化,使用PCIe接口连接闪存和CPU。NVMe驱动器可减少延迟并提供更高的IOPS。使用PCIe3.0连接的硬盘的写入速度是SATA硬盘的七倍以上。除了存储速度更快以外,基于NVMe的SSD硬盘还具有其他优势,其中包括可扩展的性能和能效。

    随着SSD硬盘中使用的闪存价格下降,固态珘已成为主存储的首选。但是,HDD硬盘仍然具有价格优势,并且对于二级存储仍将保持强劲增长。基于混合磁记录、热辅助磁记录和微波辅助磁记录技术的大容量硬盘驱动器预计将在2020年或2021年投放市场,而多读写臂硬盘器将会显著提高读写速度,这将有助于保持HDD硬盘的相关性。

    其他类型的外部存储设备还包括光学存储设备和磁带存储设备,光学存储设备使用激光写入和读取数据。这些主要用于长期数据存储。光学存储包括蓝光光盘、CD-ROM和DVD光盘。

    磁带是磁存储的一种形式,曾经是最常用的备份存储类型。与磁带相比,由于HDD硬盘甚至SSD硬盘的性能和易用性,它们已成为备份的主要选择,但是磁带因其低成本、高容量和长期耐用性而在归档方面仍然很受欢迎。

    内存和存储器的界限在未来将越来越模糊

    活动内存和存储器之间的界限不仅越来越像分页那样模糊不清,而且也将完全消失。制造商正在研究一种将内存的速度与闪存的容量结合在一起作为非易失性存储器的技术。

    在这些技术中,铁电RAM和磁阻RAM是其中之一,但最能实现同时成为有源存储器目标的是相变存储器(PCM)。英特尔和美光科技公司开发了3DXPoint技术,以填补动态内存和NAND闪存之间的性能差距。3DXPoint基于相变存储器(PCM),采用无晶体管的交叉点架构,可将选择器和存储单元置于垂直线的交点处。

    英特尔公司在市场上以Optane品牌拥有基于3DXPoint技术的SSD硬盘、内存和双列直插式内存模块卡。英特尔公司表示,对其即将推出的第二代SSD硬盘的早期测试将使平均读取I/O延迟保持大约10微秒,可以支持80万次IOPS(每秒读写次数)。美光公司在2019年推出了首款3DXPointSSD硬盘,声称它比NAND快三倍,延迟降低了11倍,并支持高达250万次IOPS和9GBps的读写带宽。

    2595dcbf1e9fb375711a762b3bdb004a.png

    6ebf5ae9217c9d91c4f20649cc03bef8.png

    扫码关注

    我获取更多精彩

    展开全文
  • 微服务:全链路压测和容量规划

    千次阅读 2019-08-25 18:16:44
    什么是全链路压测?...全链路压测是一个模拟线上环境的完整闭环,由5核心要素组成: 压测环境:对应用户真实的线上环境,具备数据与流量隔离能力的生产环境; 原则:能够用中间件解决的问题,绝不...

    什么是全链路压测?

    基于实际的生产业务场景、系统环境,模拟海量的用户请求和数据对整个业务链进行压力测试,并持续调优的过程

    主要特征:

    • 真实流量
    • 线上环境
    • 实时监控和过载保护

    全链路压测组成

    单链路指一个业务线。

    全链路压测是一个模拟线上环境的完整闭环,由5大核心要素组成:

    1. 压测环境:对应用户真实的线上环境,具备数据与流量隔离能力的生产环境; 原则:能够用中间件解决的问题,绝不对业务系统进行改造,系统所需做的是升级中间件,这一原则极大提高了工作效率。
    2. 压测基础数据:构造满足高峰场景的核心基础相关数据,影子库里构造相同量级的数据; 真实线上数据筛选脱敏。
    3. 压测流量(模型、数据):成百上千的接口组合,到复杂的接口之间的参数传递,复杂的条件判断来构造精准的全局流量模型,和真实业务情况保持一致;
      > 压测引擎的三层结构:
      • 协议支持
      • 请求发送:CGroup资源隔离,异步Reactor模型发送请求,链路间线程池隔离
      • 集群协作: Master,Slave长连接; Cristian算法同步网络延迟,Slave动作一致;
    4. 流量发起:模拟全国各地真实的用户请求访问,探测站点能力;
    5. 问题定位:多维度的监控和报表,服务端可通过其他生态产品协助定位。

    翻译构造能力的体现:便捷的构造全局业务场景和流量数据的能力。

    原子因素:链路(被压测的最小单位) 指令: 思考时间、集合点、条件跳转、cookie存取、全局准备、并发用户限制等

    原子因素->串行链路->场景

    全链路压测解决什么问题?

    • 验证峰值流量下服务的稳定性和伸缩性
    • 验证新上线功能的稳定性
    • 进行降级、报警等故障演练
    • 对线上服务进行更准确的容量评估

    什么时机下需要?

    • 业务发展速度
    • 在可以预期的一段时间(最好是半年,一个季度有点晚)内,业务会有较快速的发展,线上机器必须要大幅度扩容
    • 扩容有的时候并不是线性的,从两台扩展到四台,你得服务能力或者能提高两倍
    • 继续扩容服务能力就有可能提高不上去了,因为要受限于其他的模块,比如 DB、公共组建、中间件等

    ps:业务的不断发展,依赖的模块不断增多。需要找出短板来进行解决

    • 链路的复杂程度在扩张
    • 一般而言,随着业务的发展,我们的接口会越来越多,系统会逐渐的做分布式
    • 业务线内部的模块越抽象越多,业务线跟其他业务线的交互也越来越多
    • 我们无法单纯的根据自己系统的处理能力来评估接口的服务能力

    ps:接口的服务能力取决于模块中最低的那个—木桶理论

    • 对单机压测结果越来越没有自信
      • 一个很好的指标,一般而言,我们都会压一下我们自己的模块
      • 单机的压测不代表真实的线上场景,内心会越来越虚,这个时候,就要考虑全链路了

    如何展开全链路压测?

     

    压力测试方式的几个阶段

    • 对线上的单机或集群发起服务调用
    • 将线上流量进行录制,然后在单台机器上进行回放
    • 通过修改权重的方式进行引流压测
    • 全链路压测

     

    梳理核心链路和边界

    • 核心链路是一个业务的核心,这一块应该可以很快梳理清楚
    • 难点在于梳理清楚链路的边界
    • 千万不要污染正常数据:认真梳理数据处理的每一个环节,确保 mock 数据的处理结果不会写入到正常库里面
    • 在核心链路的基础上,我们会有很多的分支业务,而这些分支业务有的可以参与压测,有的不能参与压测
      • 比如给用户下放 push 消息
      • 短信 / 支付 / 微信 Oauth 授权

    首先应该明确的是:全链路压测针对的是现代越来越复杂的业务场景和全链路的系统依赖。所以首先应该将核心业务和非核心业务进行拆分,确认流量高峰针对的是哪些业务场景和模块,针对性的进行扩容准备,而不是为了解决海量流量冲击而所有的系统服务集群扩容几十倍,这样会造成不必要的成本投入。

    数据模型构建

    • 数据的真实性和可用性:可以从生产环境完全移植一份当量的数据包,作为压测的基础数据,然后基于基础数据,通过分析历史数据增长趋势,预估当前可能的数据量
    • 数据脱敏:基于生产环境的全链路压测,必须考虑的一点是不能产生脏数据,以免对生产造成影响,影响用户体验等,因此在数据准备时需要进行数据脱敏
    • 数据隔离:千万不要污染正常数据:认真梳理数据处理的每一个环节,可以考虑通过压测数据隔离处理,落入影子库,mock 对象等手段,来防止数据污染

    流量平台搭建

    • jmeter、Ngrinder、locust,提供分布式压测的方式(饿了么 的流量平台是基于 jmeter 改造的)、压测机中的机器数据能够实时的收集查看到、可以随时停止压测、一定时间内实时错误率达到阈值自动熔断。考虑到压测量较大的情况下回传测试结果会对 agent 本身造成一定资源占用,可以考虑异步上传,甚至事务补偿机制。
    • 业务代码改造:压测请求上会打上特殊的标记,这个标记会随着请求的依赖调用一直传递下去。写请求写到影子区域(比如header头中做标记,存储、缓存、消息、日志等一系列的状态数据)、依赖的外部服务做 mock 处理(短信、邮件、push 等等)

    全链路压测应对的都是海量的用户请求冲击,可以使用分布式压测的手段来进行用户请求模拟,目前有很多的开源工具可以提供分布式压测的方式,比如jmeter、Ngrinder、locust等。

    可以基于这些压测工具进行二次开发,由Contorller机器负责请求分发,agent机器进行压测,然后测试结果上传Contorller机器。

    考虑到压测量较大的情况下回传测试结果会对agent本身造成一定资源占用,可以考虑异步上传,甚至事务补偿机制。

    • 真实流量蓄水池,分批释放
    • 逐步压测

    全链路压测核心功能

    数据构造

    回放业务高峰期产生的流量

    • HTTP: Nginx Access Log分析
    • RPC:对部分机器录制

    通过以上两种方式生成压测词表(词表分片处理,方便后续批量加载)

     压测隔离

    • 添加压测标识,各服务和中间件依据标识来进行压测服务的分组和影子表方案的实施。
    • 在请求头添加特殊标识,但需要保证线程间和跨服务间透传。
    • 链路诊断功能方便定位问题。

    服务隔离

    • 通常选择深夜低峰压测,同时隔离正常流量和测试流量。 隔离策略:基于IP,机器数,百分比

    数据隔离

    • 影子表(阿里):使用线上同一个数据库,包括共享数据库中的内存资源,只在写入数据时写进另一个影子表。 KV的处理类似,MQ则选择生产端或消费端忽略消息。

    调度中心

    资源计算预估

    • 压测期望到达的QPS
    • 压测请求的平均响应时间和请求/响应体大小
    • 压测的词表大小、分片数
    • 压测类型

    事件注入机制

    根据系统的实际情况对压力进行相应调整。

    • 调整QPS
    • 触发熔断
    • 开启事故注入
    • 开启代码级性能分析

    代码设计:观察者模式(会触发的事件)和责任链模式(执行事件)

    熔断保护机制

    客户端熔断: 根据业务自定义的熔断阈值,实时分析监控数据,当达到熔断阈值时,任务调度器会向压测引擎发送降低QPS或者直接中断压测的指令,防止系统被压挂。

     

    容量规划

    为什么需要容量规划

    容量规划的目的在于让每一个业务系统能够清晰地知道:什么时候该加机器、什么时候应该减机器?双11等大促场景需要准备多少机器,既能保障系统稳定性、又能节约成本

    ps:什么时候增减机器、保障系统稳定性、节约成本

    容量规划四步走

    1. 业务流量预估阶段:通过历史数据分析未来某一个时间点业务的访问量会有多大
    2. 系统容量评估阶段:初步计算每一个系统需要分配多少机器
    3. 容量的精调阶段:通过全链路压测来模拟大促时刻的用户行为,在验证站点能力的同时对整个站点的容量水位进行精细调整
    4. 流量控制阶段:对系统配置限流阈值等系统保护措施,防止实际的业务流量超过预估业务流量的情况下,系统无法提供正常服务流量控制阶段:对系统配置限流阈值等系统保护措施,防止实际的业务流量超过预估业务流量的情况下,系统无法提供正常服务

    获取单台机器的服务能力

    为了精准地获取到单台机器的服务能力,压力测试都是直接在生产环境进行,这有两个非常重要的原因:单机压测既需要保证环境的真实性,又要保证流量的真实性

    生产环境进行单台机器压力测试的 4 个方法

    模拟请求:通过对生产环境的一台机器发起模拟请求调用来达到压力测试的目的

    工具:apache ab、webbench、httpload、jmeter、loadrunner

    适用场景:新系统上线或者访问量不大的系统采用这种方式来进行单机压测

    缺点:模拟请求和真实业务请求之间存在的差异,会对压力测试的结果造成影响 另一个缺点在于写请求的处理比较麻烦,因为写请求可能会对业务数据造成污染,这个污染要么接受、要么需要做特殊的处理(比如将压测产生的数据进行隔离)

    ps:和真实请求有差异、写请求需要处理、适合新系统上线或访问量不大的

    复制请求:通过将一台机器的请求复制多份发送到指定的压测机器

    适用场景:系统调用量比较小的场景

    优点:为了使得压测的请求跟真实的业务请求更加接近,在压测请求的来源方式上,我们尝试从真实的业务流量进行录制和回放,采用请求复制的方式来进行压力测试

    缺点:同样也面临着处理写请求脏数据的问题 另外一个缺点复制的请求必须要将响应拦截下来,所以被压测的这台机器需要单独提供,且不能提供正常的服务(不能把响应给到真实的用户了,比如涉及到发短信邮件之类的)

    请求转发将分布式环境中多台机器的请求转发到一台机器

    适用场景:系统调用量比较大的场景

    优点:请求的引流转发方式不仅压测结果非常精准、不会产生脏数据、而且操作起来也非常方便快捷,在阿里巴巴也是用的非常广泛的一种单机压测方式,这种方式怎么测试出当前系统最大能抗的流量是多少呢?

    调整负载均衡修改负载均衡设备的权重,让压测的机器分配更多的请求

    适用场景:系统调用量比较大的场景

    优点:调整负载均衡方式活的的压测结果非常准确、并且不会产生脏数据

    ps:单机压测可以基于上面的4种压测方式基础上,构件一套自动化的压测系统,可以配置定时任务定期对系统进行压测,也可以在任意想压测的时间点手动触发一次压测

    在进行压测的同时,实时探测压测机器的系统负载,一旦系统负载达到预设的阈值即立刻停止压测,同时输出一份压测报告 通过单机压测获取的单机服务能力值也是容量规划一个非常重要的参考依据

    最小机器数 = 预估的业务访问量 / 单机能力

    单机压测问题

    系统可用性问题

    经常由下面一些不确定性因素引起:

    • 系统容量
    • 业务性能
    • 基础设施瓶颈
    • 中间件瓶颈
    • 系统直接的依赖影响

    传统线上单机与单系统压测的四种方式

    • 模拟调用者压测生产环境:读请求+写请求(需要特定处理)
    • 流量录制和回放:快速率回放对单机压测

    从流量分配的角度,将流量集中到某台机器(这两种方式要求访问流量不能太小):

    • 请求流量转发
    • 改变负载均衡的权重

    单系统压测的问题

    • 在做单个系统的容量规划时,所有的依赖环节能力是无限的,进而使得我们获取的单机能力值是偏乐观的;
    • 采用单系统规划时,无法保证所有系统均一步到位,大多数精力都集中核心少数核心系统;
    • 部分问题只有在真正大流量下才会暴露,比如网络带宽等等。

     

    流程举例

    • 业务中需要区分流量(正常流量/压测流量)
      • 压测时需要在 http header 里加入 X-Shadow 的key ,值为 true 的代表压测,key 不存在或者 key 值不等于 true 代表非压测流量
    • 接收和发送 http / grpc 等请求时
      • 在向下游服务发起请求时,如果是压测流量把 header 头中的标记字段往下透传,下游继续在业务中往下透传
      • 接收到如果是压测流量,使用相应的压测数据
    • 依赖的模块
      • MySQL 使用影子表,将压测流量对 MySQL 的读写打到影子表上。即正常的业务表名为A,则影子表名为Ashadow
        • 所有涉及到的业务表都需要建一份影子表
        • 便于事后数据的清理
      • MongoDB 使用影子 collection ,将压测流量对 MongoDB 的读写打到影子表上。即正常的业务表名为A,则影子表名为 Ashadow
        • 同 MySQL
      • Redis 使用影子 key ,将压测流量对 redis 的读写打到影子 key 上。 如 set key value 会变成 set key_shadow value
        • 同 MySQL
      • kafka 使用影子 topic,key 后拼接 _shadow
        • 同 MySQL
    • 不需要参与压测的做 mock 处理
      • 给用户发push、短信、支付、微信 Oauth 授权

    全链路压测应用

    1 阿里分享

    2013年为了双11提前预演而诞生,该服务已提供在阿里云PTS铂金版。

    2 京东分享

    ForgeBot, 2016年开发

    京东全链路压测军演系统(ForceBot)架构解密

    最早基于开源的NGrinder,能胜任单业务压测。Controller功能耦合重,支持的Agent数量有限。 之后开发了ForgeBot。

    2.1 主要功能模块

    • Controller:任务分配
    • Task Service:负载任务下发,支持横向扩展。提供任务交互和注册服务。(gRPC:HTTP2+protobuf3)
    • Agent:注册心跳,拉取任务、更新任务状态、 执行和停止worker process(采用Docker容器部署)
    • Monitor Service:接受并转发压测数据给JMQ
    • DataFlow:对压测数据做流式计算(输出TPS,TP999,TP99,TP90,TP50,MAX,MIN),将计算结果存到DB(ES)

    在管理端创建测试场景,Controller扫描发现场景,寻找空闲Agent资源。

    任务分配时,Controller计算每个间隔的执行时间点和递增的虚拟用户数,由Agent动态加压减压。

    在多个组件使用了gRPC框架通讯

    分读压测和写压测

    2.2 一些解决问题的思路

    问题:如何模拟在某一个瞬间压力达到峰值?
    解决方案:通过集合点功能实现,提前开启峰值所需足够数量的线程,通过计算确定各个时间点上不需要执行任务的线程数量,通过条件锁让这些线程阻塞。当压力需要急剧变化时,我们从这些阻塞的线程中唤醒足够数量的线程,使更多的线程在短时间进入对目标服务压测的任务。

    问题:为了计算整体的 TPS,需要每个Agent把每次调用的性能数据上报,会产生大量的数据,如果进行有效的传输?
    解决方案:对每秒的性能数据进行了必要的合并,组提交到监控服务

    3 饿了么分享

    饿了么全链路压测平台的实现与原理

    3.1 业务模型的梳理

    • 是否关键路径
    • 业务的调用关系
    • 业务的提供的接口列表
    • 接口类型(http、thrift、soa等)
    • 读接口还是写接口?
    • 各接口之间的比例关系

    3.2 数据模型的构建

    3.2.1 写请求

    压测方法:

    • 用户、商户、菜品等在数量上与线上等比例缩放;
    • 对压测流量进行特殊标记;
    • 根据压测标记对支付,短信等环节进行mock;
    • 根据压测标记进行数据清理;

      读请求

      压测方法:拉取线上日志,根据真实接口比例关系进行回放

    3.2.2 无日志服务

    压测方法:

    • 构建压测数据使缓存命中率为0%时,服务接口性能,数据库性能;
    • 缓存命中率为100%时,服务接口性能;
    • 缓存命中率达到业务预估值时,服务接口性能;

    3.3 压测工具

    定制JMeter

    3.4 压测指标监控和收集

    • 应用层面
    • 服务器资源
    • 基础服务:中间件和数据库

    要点:

    • 响应时间不要用平均响应时间,关注95线;
    • 吞吐量和响应时间挂钩
    • 吞吐量和成功率挂钩

    3.5 具体实现

    SpringBoot+AngularJS.

    测试期间产生的冷数据(用例数据、结果数据)持久化至MongoDB,热数据(实时数据)持久化至InfluxDB并定期清理。

    分布式测试:重新实现JMeter的分布式调度
    测试状态流转:各种流程形成闭环,要考虑各种异常。
    主要流程:配置 -> 触发 -> 运行 -> 结果收集 -> 清理。

    整个状态流转的实现,采用异步Job机制实现了类似状态机的概念,状态属性持久化到数据库中,便于恢复。

    3.6 安全保障

    由于是在线上真实环境,需要避免测试引起的服务不可用和事故。

    • 权限管理:用户权限分级管理,不能随意触发他人的测试用例,同时高峰期和禁止发布期,不允许执行任何测试。
    • 停止功能:这是面向用户的手动停止功能,用户可以随时点击运行状态下的测试用例上的停止按钮,后台会直接kill掉所有运行该测试用例的测试机上的JMeter进程。
    • 熔断功能:系统会根据实时信息中的错误率进行判断,当一定时间内的实时错误率达到或超过某个阈值时,该次测试将被自动熔断,无需用户干预。
    • 兜底脚本:最极端的情况,当整个系统不可用,而此时需要停止测试时,我们提供了一份外部脚本直接进行停止。

    相关链接:

    阿里全链路压测

    有赞全链路压测

    京东全链路压测

    饿了么全链路压测

    滴滴全链路压测解决之道

    美团全链路压测自动化实践

    逻辑思维在全链路压测方面的实践

    http://xulizhao.com/blog/meituan-load-test-note/

    展开全文
  • 由于硬件技术的限制,我们可以制造出容量很小但很快的存储器,也可以制造出容量但很慢的存储器,但不可能两边的好处都占着,不可能制造出访问速度快容量的存储器。因此,现代计算机都把存储器分成若干级,...
  • 由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,比另一种线性表顺序表,但是查找一个节点或者访问特定编号的节点则需要O(n)的时间,而线性表和顺序表相应的时间复杂度分别是O(logn)和O(1)。...
  • 基本数据类型(详解)

    千次阅读 2020-03-06 18:29:11
    Java基本类型存储在栈中,因此它们的存取速度于存储在堆中的对应包装类的实例对象。从Java5.0(1.5)开始,JAVA虚拟机(JavaVirtual Machine)可以完成基本类型和它们对应包装类之间的自动转换。因此我们在赋值...
  • 计算机组成原理百道必考总结(下)

    千次阅读 多人点赞 2022-09-13 10:49:36
    仅II、III、IV 主存储器和CPU之间增加Cache的目的是( A ) 解决CPU和主存之间的速度匹配问题 扩大主存储器容量 扩大CPU中通用寄存器的数量 既扩大主存储器容量,又扩大CPU中通用寄存器的数量 某SRAM芯片,其容量为...
  • 超硬核!数据结构学霸笔记,考试面试吹牛就靠它

    万次阅读 多人点赞 2021-03-26 11:11:21
    上次发操作系统笔记,很快浏览上万,这次数据结构比上次硬核的哦,同样的会发超硬核代码,关注吧。
  • 计算机系统的主要性能指标包括:字长、主频、运算速度存取周期、存取容量。1.字长字长是指计算机可以直接处理的二进制数据的位数。它直接影响计算机的计算精度、速度和功能,是计算机的一个重要技术指标。字长越长...
  • java的八基本类型

    万次阅读 多人点赞 2018-09-04 16:30:15
    Java基本类型共有八种,基本类型可以分为三类,字符类型char,布尔类型boolean以及数值类型byte、short、int、long、float、double。数值类型又可以分为整数类型byte、short、int、long和浮点数类型float、double。...
  • 不同的操作系统需要使用不同类型的文件系统,为了与其他操作系统兼容,以相互交换数据,通常操作系统都能支持多种类型的文件系统,比如Windows2000 Server,系统默认或推荐采用的文件系统是NTFS,但同时也支持FAT32或...
  • 面渣逆袭:Java并发六十问,来看看你会多少道

    万次阅读 多人点赞 2022-01-13 11:08:07
    关于线程,其实很概率还会出一些笔试题,比如交替打印、银行转账、生产消费模型等等,后面老三会单独出一期来盘点一下常见的线程笔试题。 ThreadLocal ThreadLocal其实应用场景不是很,但却是被炸了千百遍...
  • 计算机组成原理作业答案

    千次阅读 2021-07-25 01:30:01
    [参考答案]:计算机的主要技术性能指标有下面几项:主频、字长、存储容量存取周期和运算速度等。(1) 主频:主频即时钟频率,是指计算机的CPU在单位时间内发出的脉冲数。(2) 字长:字长是指计算机的运算部件能同时...
  • Java 八基本数据类型

    万次阅读 多人点赞 2018-09-11 14:59:48
    Java基本类型存储在栈中,因此它们的存取速度于存储在堆中的对应包装类的实例对象。从Java5.0(1.5)开始,JAVA虚拟机( Java Virtual Machine)可以完成基本类型和它们对应包装类之间的自动转换。因此我们在...
  • 什么是RAM(随机存取存储器)?

    千次阅读 2020-10-13 02:46:20
    First RAM类型的性能和尺寸非常低,因此它们变得更,更。 SRAM is the first type of RAM created to be used in MainFrames in 1963 and used to 1995. SRAM is the short form of the Static RAM which is ...
  • java八基本数据类型及其封装类

    万次阅读 多人点赞 2019-01-05 16:52:19
    Java基本类型共有八种,基本类型可以分为三类,字符类型char,布尔类型boolean以及数值类型byte、short、int、long、float、double。数值类型又可以分为整数类型byte、short、int、long和浮点数类型float、double。...
  • 大数据是以容量大类型多存取速度快、应用价值高为主要特征的数据集合,正快速发展为对数量巨大、来源分散、格式多样的数据进行采集、存储和关联分析,从中发现新知识、创造新价 值、提升新能力的新一代信息技术...
  • 数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,他依赖于选定的DBMS 数据库物理设计的步骤 确定数据库的物理结构 RDBMS中的主要指存取方法和存储结构 对物理结构进行评价 重点是时间和空间效率 IF ...
  • 1、【选题】计算机系统是由( )组成的。 A、外设 B、主机 C、软件 D、硬件 参考资料【 】 2、【选题】软件分为( )。 A、应用软件 B、操作系统 C、系统软件 D、数据处理系统 参考资料【 】 1.2 冯_诺依曼结构...
  • 工信部在基于云计算的电子政务公共平台顶层设计指南中明确提出要求各地充分发挥既有资源作用和新一代信息技术潜能积极开展基于云计算的电子政务...发展质量数据采集发现新知识大数据1容量大2类型多3存取速度快4应用价
  • 主存储器和CPU之间增加高速缓冲存储器(Cache)的目的是 提高存储系统访问速度 计算机系统中的存贮器系统是指 Cache、主存贮器和外存贮器 计算机字长32位,主存容量为128MB,按字编址,其寻址范围为 0 ~ 32M-1 字位...
  • 三、主存储器(主存) 主存储器一般采用半导体存储器,与辅助存储器相比有容量小、读写速度快、价格高等特点。计算机中的主存储器主要由存储体、控制线路、地址寄存器、数据寄存器和地址译码电路五部分组成。从70...
  • 9、下列存储器类型中,速度的是() A.EPROM B.SRAM C.DRAM D.Flash Memory 解析: 存储速度到慢排列:内存储器>高速缓冲存储器>计算机的主存>大容量磁盘。根据对应关系SRAM静态随机存取存储器是最的...
  • 计算机组成原理练习题资料

    千次阅读 2021-07-22 04:33:07
    B 如果使用中的2个或个块映射到cache同一行,命中率则下降C 它的存取时间大于其它cache映射方式 D cache中的块数随着主存容量增大而线性增加11、某计算机的cache共有16行,采用2路组相联映射方式(即每组2行)。...
  • ❤ 挑战C站最强C++ STL标准库总结(内含大量示例)

    万次阅读 多人点赞 2021-07-06 20:39:56
    2.vector 容器 2.1 vector基本概念 2.2 vector构造函数 2.3 vector赋值操作 2.4 vector容量和大小 2.5 vector插入和删除 2.6 vector数据存取 2.7 vector互换容器 2.8 vector预留空间 3.deque 容器 3.1 deque容器基本...
  • 路径链接法是将图像文件保存在固定的路径下,数据库中只存储图像文件的路径和名称,此方法数据库容量小,存取速度快,但安全性较差;内存流法是将二进制数据直接存储在数据库中,此方法对数据的共享非常方便,安全性...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 36,727
精华内容 14,690
热门标签
关键字:

容量大类型多存取速度快