#命令如下: 写:time dd if=/dev/zero of=test.dbf bs=8k count=100000 读:dd if=test.dbf bs=8k count=100000 of=/dev/null #表示 每次写入/读取8k的数据,执行100000次。
几年以前,我被派去厦门上门去分析一个用户的手机卡顿问题,该用户的手机经常莫名无响应,刷机,恢复出厂都没有用,经过一通分析,原来该用户从熟人店里买到了一张盗版的SD卡(这年头坑的就是朋友),该SD卡读写速度很慢,顺序读写只有20MB/s。那为什么SD卡的读写性能对手机性能影响那么大?当时我的知识水平,只能从对比测试中发现这个问题,然后更换SD卡解决了这个问题,但是无法从原理上解释这种现象。经过那么多年的学习积累,我现在终于可以解释这个问题。
目前 CPU 的处理性能越来越强,目前单颗 CPU 已经可以达到 128 线程。CPu 高速计算,内存也有着较高的读写速度,但与此同时,硬盘设备的性能提升却不是很大,逐渐成为计算机整体性能的瓶颈。并且生物数据往往都比较大,动辄就达到数 Tb 的数据。由于硬盘设备需要进行持续、频繁、大量的 IO 操作,相较于其他设备,其损坏机率也大幅增加,导致重要数据丢失的机率也随之增加。因此,服务器的磁盘配置非常重要。
之前文章《Linux服务器性能评估与优化(一)》太长,阅读不方便,因此拆分成系列博文:
昨天博客加了WP Super Cache缓存插件,速度提升明显。使用这类插件可以将PHP动态页面在首次访问时生成html静态页面并存储在硬盘中,当其他访客再次访问时直接读取该静态页面,这样不需要再次通过PHP生成动态页面也不需要再从数据库中读取数据,大幅降低系统资源消耗,且大幅提升了页面打开速度。
个人博客纯净版:https://www.fangzhipeng.com/db/2019/09/10/linux-disc.html
实际上,零拷贝是有广义和狭义之分,目前我们通常听到的零拷贝,包括上面这个定义减少不必要的拷贝次数都是广义上的零拷贝。其实了解到这点就足够了。
文件是存储在磁盘上的,文件的读写访问速度受限于磁盘的物理限。如果才能在1 分钟内完成 100T 大文件的遍历呢?
现在磁盘最常用的可简单分为普通的机械盘和SSD(Solid-state drive或Solid-state disk)两种,他们都已不同的接口协议和主板链接,在了解命令之前,我们先来看下,现在服务器磁盘的接口协议。这样可以更好的了解磁盘。
在专栏之前的几篇文章中,我们总结了缓冲池,缓存页,redo log,undo log,以及数据页和数据行在底层是如何进行存储的,后续介绍了表空间,段,区等概念。这一节比较特殊,讲述的是和Linux有关的交互原理,因为多数的mysql都是部署在linux的服务器上面,本节会简单介绍一下linux是如何处理mysql的请求的,以及linux系统会带来哪些问题
大家如果想自己组装电脑的话,肯定需要购买一个 CPU,但是存储器方面的设备,分类比较多,那我们肯定不能只买一种存储器,比如你除了要买内存,还要买硬盘,而针对硬盘我们还可以选择是固态硬盘还是机械硬盘。
介绍一个新概念,RAID,这也是大学的时候的学的东西了,一直很少在工作中使用,有点忘记,今天复习更新一下。分享给大家。 保存数据安全,大家都知道备份。 数据安全其中一个是物理上的方法。就是raid。 RAID 简介 独立硬盘冗余阵列(RAID, Redundant Array of Independent Disks),旧称廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks),简称磁盘阵列。其基本思想就是把多个相对便宜的硬盘组合起来,成为一个硬盘阵列组,使性能达
任何硬盘在使用前都要进行分区。硬盘的分区有两种类型:主分区和扩展分区。一个硬盘上最多只能有4个主分区,其中一个主分区可以用一个扩展分区来替换。也就是说主分区可以有1~4个,扩展分区可以有0-1个,而扩展分区中可以划分出诺干个逻辑分区。
硬盘的种类主要是SCSI 、IDE 、以及现在流行的SATA等;任何一种硬盘的生产都要一定的标准;随着相应的标准的升级,硬盘生产技术也在升级;比如 SCSI标准已经经历了SCSI-1 、SCSI-2、SCSI-3;其中目前咱们经常在服务器网站看到的 Ultral-160就是基于SCSI-3标准的;IDE 遵循的是ATA标准,而目前流行的SATA,是ATA标准的升级版本;IDE是并口设备,而SATA是串口,SATA的发展目的是替换IDE;
图2-1可以说是标准的生产库环境,处处体现了冗余,有效防止了单点故障。这就是HA(高可用)
1、什么是buffer与cache,它们各自的作用是什么 linux系统会把内存分为两种区域: buffer:缓冲区,攒一大波数据,再刷入硬盘 cache:缓存,把硬盘的数据在内存中缓存好,cpu取的时候可以直接从内存取 2、什么是内核态与用户态 内核态——>操作系统正在控制硬件 用户态-->应用程序正在运行 3、机械磁盘的IO延迟时间=平均寻道时间4ms+平均延迟时间5ms 4、一个7200转的硬盘带来的IO延迟大概是9ms 5、操作系统的启动流程是什么? 1、计算机加电 2、启动BIOS(计算机启动一定会先启动bios系统),扫描启动设备,从某一个启动设备中找到操作系统 3、读取启动设备的第一个扇区的大小(称之为主引导记录mbr) 446 bootloader=》grub程序 64分区信息 2结束标志位 4、grub程序负责将操作系统内核装载入内存,启动操作系统 5、操作系统会让BIOS去检测驱动程序
早期电脑中软驱占用了A、B两个盘符,所以硬盘的盘符就从C开始。C盘、D盘这些都是DOS和Windows延续下来的概念,是为了方便文件的管理,在Linux系统中并没有“盘符”这种东西。
由盘片,磁头组成,数据存在盘片的环形磁道上,读写时,磁头移动,定位到数据的磁道,进行数据读写
我们知道文件一般存放在硬盘(机械硬盘或固态硬盘)中,CPU 并不能直接访问硬盘中的数据,而是需要先将硬盘中的数据读入到内存中,然后才能被 CPU 访问。
很多使用过 Kafka 的网友都在鼓吹,Kafka 可以吊打一切其它 MQ。也造成了很多网友都觉得 Kafka 才是牛逼哄哄的存在,给很多在技术选型方面的人造成了误导。
写入速度使用命令:time dd if=/dev/zero of=/tmp/test.dat bs=1G count=1
1、登录Terminal,执行:cat /proc/cpuinfo,就会显示出主机的CPU详细参数,如内核、频率、型号等等,以下是我Linux 系统主机的CPU:
GNU计划(又称革奴计划),是由Richard Stallman(理查德·斯托曼)在1983年9月27日公开发起的自由软件集体协作计划。它的目标是创建一套完全自由的操作系统。GNU也称为自由软件工程项目。
原文链接:http://7424593.blog.51cto.com/7414593/1744358
Kafka的消息是保存或缓存在磁盘上的,一般认为在磁盘上读写数据是会降低性能的,因为寻址会比较消耗时间,但是实际上,Kafka的特性之一就是高吞吐率。
有时候我们在做维护的时候,总会遇到类似于IO特别高,但不能判定是IO瓶颈还是软件参数设置不当导致热盘的问题.这时候通常希望能知道磁盘的读写速度,来进行下一步的决策.
内存: 大脑中的记忆区块,将皮肤、眼睛等所收集到的信息记录起来的地方,以供CPU进行判断。
dnf(Dandified Yum)是一个RPM包管理器,用于管理Linux系统上的软件包。它对云服务器的配置要求取决于您的具体需求,至少需要1核CPU、1GB内存和足够的磁盘空间。
https://blog.csdn.net/enweitech/article/details/51445087
这本书是个人看过的讲操作系统底层里面讲的最通俗易懂的了,但是200多页的内容确实讲不了多深的内容,所以不要对这本书抱有过高期待,当一个入门书了解即可。
[TOC] 0x01 基础信息 描述:本文主要针对以下方面的进行记录学习 (1) 对象存储、文件存储和块存储介绍与区别? (2) 0x02 多种存储类型差异 Q:对象存储、文件存储和块存储介绍?
电脑组成:1电源 2主板 3CPU 4内存 5硬盘 6声卡 7显卡 8网卡 9光驱 电脑的系统的硬体单元: 输入单元,输出单元,算数逻辑单元,控制单元,记忆单元。 算数单元和控制单元合称《中央处理单元》 中央处理单元 (Center processing Unit CPU) 三大系统:windows ,Linux ,Unix 固态硬盘:非常贵,速度快。 连续读取速度:500MB/s(秒),连续写入速度:300MB/s(秒) 内存特点: 1断电数据丢失 2读写速度非常快 bit=(位) Byte=(字节) 8bit=1Byte 一字节(Byte)=255=2的八次方-1 255以下的都是以个字节(Byte) 字节(Byte)是计算机中最小的存储单位 bit是计算中能识别的最小的单位 1024Byte(字节)=1kByte(字节)=1kb 2的十次方=1024 (2**10=1024) 1024K Byte=1M Byte=1MB 100万字节=1MB 1024MB=1GB=10亿字节(Byte) 1024GB=1TB=1万亿字节(Byte) 硬盘的特点: 1数据断电不丢失 2可重复读写 3速度慢(相对于内存来讲) 300GB机械硬盘转速:7200,10000,15000 5400转写的话:(30---50MB/s(秒) CPU 14纳米(代表一个晶体管最小的) GHz(时钟频率代表一秒钟有多少次震荡) 每一次时钟周期理论上可以CPU执行一条指令 1Hz=1频率 1000Hz=1k Hz 1000kHz=1MHz=1000万Hz 1000MHz=1GBHz=10亿Hz 每秒运算十亿次 指令集分种:复杂指令集和简单指令集 extru(特殊功能) vimonly(漫游后对选中的区域执行操作) SUM(求数组元素和的函数) Mutiply(乘号)
外存储器(External Storage or Secondary Storage)指的是除了计算机的主存储器(通常是RAM)之外用于存储数据和程序的设备。与主存相比,外存储器提供了更大的存储容量和持久存储能力,但访问速度较慢。外存储器主要用于保存不需要立即访问的数据,以及在系统关闭后仍需要保留的信息。
解决系统性能问题的一般思路 下面从影响操作系统性能的因素、性能优化工具、系统性能评价标准三个方面介绍优化Linux的一般思路和方法。 影响Linux性能的因素 1.CPU CPU是操作系统稳定运行的根本,CPU的速度与性能很大一部分决定了系统整体的性能,因此,cpu数量越多、主频越高,服务器性能也就相对越好。但事实也并非完全如此。 目前大部分CPU在同一时间内只能运行一个线程,超线程的处理器可以在同一时间运行多个线程,因而,可以利用处理器的超线程特性提高系统性能,在linux系统下,只有运行SMP内核
项目需要使用的主板有很多性能需要经过测试之后才能用于开发使用,因此将Linux上一些常用的tools移植进板子进行测试。
编辑手记:本文主要讲解Linux IO调度层的三种模式:cfp、deadline和noop,并给出各自的优化和适用场景建议。 作者简介: 邹立巍 Linux系统技术专家。目前在腾讯SNG社交网络运营部
dd 也是我们经常使用到的磁盘测试工具,Linux服务器装好系统之后,想要知道硬盘的读写是否能满足服务的需要,如果不满足硬盘的IO就是服务的一个瓶颈。我们可以使用dd命令简单进行测试,更为专业的测试可以使用上面描述的fio 工具:
设计的目的就是当上面提到的+buffers/cache表示的可用内存都已使用完,新的读写请求过来后,会把内存中的部分数据写入磁盘,从而把磁盘的部分空间当做虚拟内存来使用。
近期实验室项目需对2GB/s的高速数字图像数据实时存储,后续数据带宽将提升至30GB/s。经调研,SATA协议的固态硬盘理论存储有效带宽为600MB/s,NVMe协议的固态硬盘理论带宽随PCIe协议而不同。NVMe协议的固态硬盘在PCIe Gen2、Gen3条件下,理论有效带宽分别为2GB/s、3.938GB/s。目前,NVMe SSD最高搭载PCIe Gen4通路,其理论有效带宽为7.877GB/s。
Kafka是分布式消息系统,需要处理海量的消息,Kafka的设计是把所有的消息都写入速度低容量大的硬盘,以此来换取更强的存储能力,但实际上,使用硬盘并没有带来过多的性能损失 kafka主要使用了以下几个方式实现了超高的吞吐率 顺序读写 kafka的消息是不断追加到文件中的,这个特性使kafka可以充分利用磁盘的顺序读写性能 顺序读写不需要硬盘磁头的寻道时间,只需很少的扇区旋转时间,所以速度远快于随机读写 Kafka官方给出了测试数据(Raid-5,7200rpm): 顺序 I/O: 600MB/
磁盘是计算机主要的存储介质,可以存储大量的二进制数据,并且断电后也能保持数据不丢失。早期计算机使用的磁盘是软磁盘(Floppy Disk,简称软盘),如今常用的磁盘是硬磁盘(Hard disk,简称硬盘)。--摘自百度百科。
单个IO大小 | 寻道时间(ms) | 旋转延迟(ms) | c传输时延(ms) | IO服务时间(ms) | IOPS
Linux中swap与memory。对于memory没什么可说的就是机器的物理内存,读写速度低于cpu一个量级,但是高于磁盘不止一个量级。所以,程序和数据如果在内存的话,会有非常快的读写速度。但是,内存的造价是要高于磁盘的,虽然相对来说价格一直在降低。除此之外,内存的断电丢失数据也是一个原因说不能把所有数据和程序都保存在内存中。既然不能全部使用内存,那数据还有程序肯定不可能一直霸占在内存中。当内存没有可用的,就必须要把内存中不经常运行的程序给踢出去。但是踢到哪里去,这时候swap就出现了。swap全称为swap place,即交换区,当内存不够的时候,被踢出的进程被暂时存储到交换区。当需要这条被踢出的进程的时候,就从交换区重新加载到内存,否则它不会主动交换到真实内存中。
领取专属 10元无门槛券
手把手带您无忧上云