#命令如下: 写: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次。
Windows 开发环境: Windows 7 64bit 、Windows 10 64bit
本文主要为嵌入式入门开发者的接口、网口等板卡基础快速测试,当初级学习的开发者拿到板卡,如何在最快时间内测试板卡正常?继续测试教程(1)的系统启动、文件传送、LED等测试部分,接下来是测试板卡的按键、时钟设置、DDR读写、Micro SD接口读写、eMMC读写测试等基础性能、功能是否正常。
几年以前,我被派去厦门上门去分析一个用户的手机卡顿问题,该用户的手机经常莫名无响应,刷机,恢复出厂都没有用,经过一通分析,原来该用户从熟人店里买到了一张盗版的SD卡(这年头坑的就是朋友),该SD卡读写速度很慢,顺序读写只有20MB/s。那为什么SD卡的读写性能对手机性能影响那么大?当时我的知识水平,只能从对比测试中发现这个问题,然后更换SD卡解决了这个问题,但是无法从原理上解释这种现象。经过那么多年的学习积累,我现在终于可以解释这个问题。
写入速度使用命令:time dd if=/dev/zero of=/tmp/test.dat bs=1G count=1
学习过[跟我学Kafka源码之LogManager分析]的同学一定会问为什么Kafka大量使用了磁盘作为传统意义的缓存。
tc(Traffic Control) 是linux系统中常用的来控制传输速率、模拟网络延时丢包等场景的工具,tc命令有三个主要的概念,是qdisc、class和filter,qdisc又分为classless qdisc和classful qdisc,在控制传输速度的方面大致有两种用法
由盘片,磁头组成,数据存在盘片的环形磁道上,读写时,磁头移动,定位到数据的磁道,进行数据读写
有时候我们在做维护的时候,总会遇到类似于IO特别高,但不能判定是IO瓶颈还是软件参数设置不当导致热盘的问题.这时候通常希望能知道磁盘的读写速度,来进行下一步的决策.
NAND FLASH版本和eMMC版本核心板使用方法基本一致。本文主要描述U-Boot编译、基础设备树文件编译、固化Linux系统NAND FLASH分区说明和NAND FLASH启动系统、固化Linux系统、AND FLASH读写测试等,NAND FLASH版本与eMMC版本核心板在使用方面的不同之处,相同之处将不重复描述。
很多使用过 Kafka 的网友都在鼓吹,Kafka 可以吊打一切其它 MQ。也造成了很多网友都觉得 Kafka 才是牛逼哄哄的存在,给很多在技术选型方面的人造成了误导。
这是 Linux 性能分析系列的第三篇,前两篇分别讲了 CPU 和 内存,本篇来看 IO。
希望这些能对想要学习嵌入式、进入嵌入式行业和那些刚学习嵌入式不久的朋友有所帮助。 如果你是在嵌入式开发阶段或者正在选型阶段,遇到了什么需求、问题以及经验感想,欢迎在评论区和大家分享!本文测试内容包含系统启动测试、文件传送测试、LED测试、按键测试、按键测试、时钟设置测试、DDR读写测试等。
1、登录Terminal,执行:cat /proc/cpuinfo,就会显示出主机的CPU详细参数,如内核、频率、型号等等,以下是我Linux 系统主机的CPU:
昨天博客加了WP Super Cache缓存插件,速度提升明显。使用这类插件可以将PHP动态页面在首次访问时生成html静态页面并存储在硬盘中,当其他访客再次访问时直接读取该静态页面,这样不需要再次通过PHP生成动态页面也不需要再从数据库中读取数据,大幅降低系统资源消耗,且大幅提升了页面打开速度。
之前文章《Linux服务器性能评估与优化(一)》太长,阅读不方便,因此拆分成系列博文:
在Linux环境中,了解存储/磁盘I/O性能对于评估系统性能和优化存储子系统非常重要。通过测试存储/磁盘I/O性能,我们可以确定磁盘的读写速度、延迟和吞吐量等指标。本文将介绍几种常用的方法来测试Linux机器中的存储/磁盘I/O性能。
当涉及到 Linux 系统的内存管理时,"Buffers" 和 "Cached" 是两个经常会引起混淆的术语。这两个概念都代表了系统内存的一部分,但它们的作用和工作方式有所不同。
dd 也是我们经常使用到的磁盘测试工具,Linux服务器装好系统之后,想要知道硬盘的读写是否能满足服务的需要,如果不满足硬盘的IO就是服务的一个瓶颈。我们可以使用dd命令简单进行测试,更为专业的测试可以使用上面描述的fio 工具:
linux内存管理卷帙浩繁,本文只能层层递进地带你领略冰山轮廓,通过本文你将了解到以下内容:
实际上,零拷贝是有广义和狭义之分,目前我们通常听到的零拷贝,包括上面这个定义减少不必要的拷贝次数都是广义上的零拷贝。其实了解到这点就足够了。
在专栏之前的几篇文章中,我们总结了缓冲池,缓存页,redo log,undo log,以及数据页和数据行在底层是如何进行存储的,后续介绍了表空间,段,区等概念。这一节比较特殊,讲述的是和Linux有关的交互原理,因为多数的mysql都是部署在linux的服务器上面,本节会简单介绍一下linux是如何处理mysql的请求的,以及linux系统会带来哪些问题
目前 CPU 的处理性能越来越强,目前单颗 CPU 已经可以达到 128 线程。CPu 高速计算,内存也有着较高的读写速度,但与此同时,硬盘设备的性能提升却不是很大,逐渐成为计算机整体性能的瓶颈。并且生物数据往往都比较大,动辄就达到数 Tb 的数据。由于硬盘设备需要进行持续、频繁、大量的 IO 操作,相较于其他设备,其损坏机率也大幅增加,导致重要数据丢失的机率也随之增加。因此,服务器的磁盘配置非常重要。
文件是存储在磁盘上的,文件的读写访问速度受限于磁盘的物理限。如果才能在1 分钟内完成 100T 大文件的遍历呢?
上一篇所说的micr-batch 其实主要是针对producer 来实现的,Kafka整体吞吐量高可不只是依赖于micr-batch这一点,还有broker端及consumer端。
合成测试程序根据统计的真实负载发生规律,如请求的读写比例,大小,频率和分布等信息。建立响应的io存取模型。在测试时产生符合存取模型的io请求序列。发送给存储系统。这类程序包括 IOMeter,IOZone 和 Bonnie++。
个人博客纯净版:https://www.fangzhipeng.com/db/2019/09/10/linux-disc.html
HD-RK3568-IOT 底板基于HD-RK3568-CORE工业级核心板设计(双网口、双CAN、 5路串口),接口丰富,适用于工业现场应用需求,亦方便用户评估核心板及CPU的性能。适用于工业自动化控制、人机界面、中小型医疗分析器、电力等多种行业应用。
项目需要使用的主板有很多性能需要经过测试之后才能用于开发使用,因此将Linux上一些常用的tools移植进板子进行测试。
blkio 是 cgroup v1 中的一个子系统,使用 cgroup v1 blkio 子系统主要是为了减少进程之间共同读写同一块磁盘时相互干扰的问题。
服务器性能测试是一项非常重要而且必要的工作,本文是作者Micheal在对服务器进行性能测试的过程中不断摸索出来的一些实用策略,通过定位问题,分析原因以及解决问题,实现对服务器进行更有针对性的优化,提升服务器的性能。
我们知道文件一般存放在硬盘(机械硬盘或固态硬盘)中,CPU 并不能直接访问硬盘中的数据,而是需要先将硬盘中的数据读入到内存中,然后才能被 CPU 访问。
现在磁盘最常用的可简单分为普通的机械盘和SSD(Solid-state drive或Solid-state disk)两种,他们都已不同的接口协议和主板链接,在了解命令之前,我们先来看下,现在服务器磁盘的接口协议。这样可以更好的了解磁盘。
这里面的的 Host Processor 指的是我们嵌入式主板上的 MCU 或者 CPU,比如 S3C2440、i.MX6ULL,RK3399 这些嵌入式处理器。
Linux支持多种文件系统类型,包括ext2、ext3、vfat、jffs、romfs和nfs等,为了对各类文件系统进行统一管理,Linux引入了虚拟文件系统VFS(Virtual File System),为各类文件系统提供一个统一的应用编程接口。
在 Linux 系统(比如 CentOS/RadHat、Debian/Ubuntu)上配置 lnmp环境,通过探针查看物理内存使用率:
系统设计得再好,如不能及时完成业务处理也不行。为什么不同业务有不同优化需求,以及常见的优化方式和问题有哪些。
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去检测驱动程序
本次测试环境:自己电脑的ubuntu系统~其他Unix/Linux系统也可以用dd.
很多小伙伴对swap分区(内存数据换入换出)这个名词可能不陌生,有了这个技术,系统才能实现承载计算机内存总量的多进程运行。操作系统会把暂时不用的内存数据写到磁盘等其他存储中,以此来释放更多的内存空间执行当前需要更多内存的进程。但是换入换出过度频繁时虽然可能不发生进程申请不到内存而导致失败的问题,但却在一定程度上降低了进程执行的效率,毕竟内存与磁盘读写速度相差几个数量级,那么是否有其他技术能解决内存数据换入换出速度过慢的问题。这也是为什么安装k8s的机器上推荐关闭swap的原因,如果内存不足就直接暴漏出来,而不是遮遮掩掩。
HD-RK3568-IOT 底板基于HD-RK3568-CORE工业级核心板设计(双网口、双CAN、5路串口),接口丰富,适用于工业现场应用需求,亦方便用户评估核心板及CPU的性能。适用于工业自动化控制、人机界面、中小型医疗分析器、电力等多种行业应用。
解决系统性能问题的一般思路 下面从影响操作系统性能的因素、性能优化工具、系统性能评价标准三个方面介绍优化Linux的一般思路和方法。 影响Linux性能的因素 1.CPU CPU是操作系统稳定运行的根本,CPU的速度与性能很大一部分决定了系统整体的性能,因此,cpu数量越多、主频越高,服务器性能也就相对越好。但事实也并非完全如此。 目前大部分CPU在同一时间内只能运行一个线程,超线程的处理器可以在同一时间运行多个线程,因而,可以利用处理器的超线程特性提高系统性能,在linux系统下,只有运行SMP内核
作者:Linux云计算架构 链接:https://mp.weixin.qq.com/s/r8SvHyPKWUG1AwRIn9ah5w
这本书是个人看过的讲操作系统底层里面讲的最通俗易懂的了,但是200多页的内容确实讲不了多深的内容,所以不要对这本书抱有过高期待,当一个入门书了解即可。
本文介绍linux内存机制、虚拟内存swap、buffer/cache释放等原理及实操。
Linux操作系统是一个开源产品,也是一个开源软件的实践和应用平台,在这个平台下有无数的开源软件支撑,我们常见的apache、tomcat、mysql、php等等,开源软件的最大理念是自由、开放,那么linux作为一个开源平台,最终要实现的是通过这些开源软件的支持,以最低廉的成本,达到应用最优的性能。因此,谈到性能问题,主要实现的是linux操作系统和应用程序的最佳结合。
图2-1可以说是标准的生产库环境,处处体现了冗余,有效防止了单点故障。这就是HA(高可用)
我们知道,直接从物理内存读写数据要比从硬盘读写数据要快的多,因此,我们希望所有数据的读取和写入都在内存完成,而内存是有限的,这样就引出了物理内存与虚拟内存的概念。
领取专属 10元无门槛券
手把手带您无忧上云