本地存储即安装ESXI时,服务器上的本地磁盘但是使用时,需要格式化成VMFS文件系统以下是创建本地存储的步骤:选择之后会列出本地可见的块存储,然后可以选择创建指定大小的文件系统我这里因为没有本地存储就略过了,毕竟很简单
NFS存储Centos7搭建NFS服务器12345678910111213# 搭建NFSyum -y install nfs-utilsmkdir /publicchmod 777 /publicecho '/public 10.163.2.0/24(rw)' > /etc/exportssystemctl enable nfs-server...
rhel中,tuned提供了两个默认配置文件virtual-host和virtual-guest
RHEL默认启用自动NUMA均衡功能。该特性允许进程自动放置NUMA和定期取消内存映射,这将导致迁移到不同的NUMA节点,从而增加NUMA故障。
正常推荐手动NUMA放置覆盖自动NUMA平衡。
建议将客户机内存大小限制为单个NUMA节点上的物理内存量,以防止在NUMA节点之间分配资源
这里介绍
cpu调优
内存调优
IO调优
网络调优比较复杂,不介绍
虚拟机cpu调优虚机的虚拟CPU在宿主机上作为用户空间进程运行,可以使虚拟CPU进程pin在主机物理CPU上,以提高性能。可以增加CPU缓...
网络内核可调项1234567891011121314151617181920212223#包接收流程(网线)1.电信号被网卡芯片解码,转换成以太网帧(网卡)2.网卡DMA引擎将帧直接写入环形缓冲区3.缓冲区达到阈值之后,网卡触发硬中断(缓冲区满时新的帧会被丢弃4.内核中断处理程序标记需要处理的帧,并触发软中断来处理硬中断5.数据从环形缓冲区复制到内核协议栈内存,方便软中断单独处理6.软中断剥离包,并判断是给本机还是转发的(应用层)7.如果报文的目的地是本地,放入socket接收缓冲区,复制到用户空间内存#包发送流程1.应用调用write()将数据放入Socket发送缓冲区(内核)2.协议...
rhel提供两种本地文件系统,也是现在主流的文件系统,即xfs与ext4文件系统两种
XFS文件系统介绍是rhel7和8的默认文件系统
最高支持单文件1PB和文件系统8EB大小
提供多种分配方案,支持元数据日志记录,更快进行崩溃恢复
引导期间不支持文件系统完整性检查
可以在活动时进行随便整理和扩容,但不能缩容
EXT4文件系统介绍ext4是ext3的可扩展系统,提供对ext2和ext3的支持
最高支持单文件16TB和文件系统50TB
使用区段分配
在部分场景下,ext4的性能比xfs更好
可以在活动时扩容,并支持缩容
SSD与TRIM丢弃传统机械硬盘(HDD)可直接覆写数据,但...
fastapi支持快速搭建api,并且原生支持协程,异步特性
在搭建api这方面比flask更加专精
快速开始123456789101112pip install fastapi uvicorn pydanticvim main.pyfrom fastapi import FastAPIapp = FastAPI()@app.get("/")async def root(): return {"message": "Hello World"} # 启动命令uvicorn main:app --re...
核心概念RAID Chunk SizeRAID 组的最小数据块单位(例如 64KB、128KB、256KB)。
作用:决定数据在 RAID 成员磁盘上的分布粒度。
示例:若 Chunk Size=64KB,写入 256KB 数据时,会被拆分为 4 个 64KB 的块,分布在不同的磁盘上。
文件系统 Block Size文件系统的最小存储单元(例如 4KB、8KB)。
作用:影响文件系统读写的最小单位,需与 RAID Chunk Size 对齐,避免跨磁盘读写碎片。
步幅Stride文件系统块连续分布在 同一磁盘上的数量。计算方式:步幅=RAID Chunk Size&...
测试存储系统需要模拟真实的工作负载。fio命令使用多个线程和进程模拟工作负载。场景包括顺序的、随机的读写和混合的I/O类型。该工具支持在单个文件上创建多线程I/O请求。
参数说明1234567891011121314fio --name=randwrite --ioengine=libaio --iodepth=1 \--rw=randwrite --bs=4k --direct=1 --size=512M --numjobs=2 \--group_reporting --filename=/tmp/testfile--name=randwrite 自定义任务名称--...
RHEL8包含四种多队列I/O调度器设置:mq-deadline、kyber、bfq和none。每种调度器在特定设备上都具有性能优势,选择调度器必须基于生产存储系统上的基准测试。
mq-deadline
核心思想:给每个I/O请求设定一个“最后期限”,优先处理快超时的请求。
适用场景:机械硬盘(HDD)、传统磁盘等顺序读写性能敏感的设备。
减少磁头来回跑动的次数,提升效率
kyber
核心思想:实时监控IO延迟,动态调整队列深度
适用场景:NVMe SSD 等快速存储设备。
bfq
核心思想:保证每个进程公平分享IO资源
适用场景:桌面系统、多任务环境
优点:公平...
虚拟内存与物理内存计算机系统将内存组织成固定大小的块(chunks),称为页(page)。页面的大小取决于处理器架构;对于x86_64,标准页面大小是4KiB。系统上的物理RAM被分为页帧(page frame);一页帧保存一页数据。
当进程请求内存时,内核将页帧的物理地址映射到进程地址空间中的虚拟地址
进程虚拟地址空间的大小不依赖于安装的物理RAM,而是依赖于处理器架构。在64位x86-64系统上,虚拟地址空间大小为2的64次幂字节(16 EiB)。
单个进程通常不会使用它的整个地址空间。它的大部分是未分配的,也没有映射到任何实际的物理内存。
虚拟内存空间很大,但只有其中一部分映射到了...
多数系统都有两到三层缓存多级别的CPU缓存有助于处理器提供大小和延迟的最佳配置。L1 cache的数据访问时延为1ns。较大的L2缓存的访问延迟通常是10纳秒,而主存的访问延迟大约是60纳秒。
12345lscpuL1d cache: 32KL1i cache: 32KL2 cache: 1024KL3 cache: 33792K
NUMA技术设计原理
节点构成:每个NUMA节点包含一个或多个CPU插槽及直接连接的内存模块。例如,双路服务器中,两个CPU各自配备独立的内存通道,形成两个节点。
访问差异:...