
linux性能调优
yangzhengqui
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
LINUX性能优化--cpu案例1
上面一篇总结了CPU的使用率,平均负载和上下文切换。这一篇来一个实际的案例。原创 2020-05-27 11:41:23 · 338 阅读 · 0 评论 -
LINUX调优---tcpdump,wireshark
tcpdump基本格式:时间戳 协议 源地址.源端口 > 目的地址.目的端口 网络包详细信息WiresharkWireshark 也是最流行的一个网络分析工具,它最大的好处就是提供了跨平台的图形界面。跟 tcpdump 类似,Wireshark 也提供了强大的过滤规则表达式,同时,还内置了一系列的汇总分析工具。...原创 2020-07-21 19:46:55 · 136 阅读 · 0 评论 -
LINUX性能调优--DNS
域名:网站的名字。全球唯一,需要通过专门的域名注册商才能注册。格式是以点分割开的字符串,名字越靠后,则层级越高。比如https://520github.com.cn/,其中cn是顶级域名,520github是三级域名。DNS是什么?比如我们要访问一个网站,最终是必须要使用IP地址,才能找到正确的服务器。但是呢,IP地址对于人类来说,真的不容易记住。为了更加方便记住自己想登陆的网站,就提出了一个从人类比较容易记住的名字(域名)出发可以转换到真实IP地址的协议—DNS。DNS工作原理:应用层协议,大部原创 2020-07-21 19:39:12 · 355 阅读 · 0 评论 -
LINUX性能调优--评估系统的网络性能
网络基准测试基准测试之前,要清楚自己的应用程序处于网络的哪一层,比如:1 基于 HTTP 或者 HTTPS 的 Web 应用程序,显然属于应用层,需要我们测试 HTTP/HTTPS 的性能;2 大多数游戏服务器来说,为了支持更大的同时在线人数,通常会基于 TCP 或 UDP ,与客户端进行交互,这时就需要我们测试 TCP/UDP 的性能;3 还有一些场景,是把 Linux 作为一个软交换机或者路由器来用的。这种情况下,你更关注网络包的处理能力(即 PPS),重点关注网络层的转发性能。各协议层的性能原创 2020-07-17 13:55:19 · 334 阅读 · 0 评论 -
LINUX性能调优---C10K,C1000K
C10K1999年由Dan Kegel ,那时的服务器运行着LINUX2.2系统,32位系统,内存很少(2G),千兆网卡。怎么在这样的系统中支持并发 1 万的请求呢?先来计算一下:最大每个连接的内存:2GB / 10000 = 200kb最大每个连接的带宽: 1000Mbit/10000 = 100bit所以只要每个连接的内存不大于200KB,带宽不大于100bit,物理资源三足够的。剩下的就是软件问题:在 C10K 以前,Linux 中网络处理都用同步阻塞的方式,也就是每个请求都分配一个进原创 2020-07-16 13:54:27 · 614 阅读 · 0 评论 -
linux性能调优--网络概念
网络是很复杂的子系统。而且跟进程调度、中断处理、内存管理以及 I/O 等都密不可分。本质上网络是一种把不同计算机或网络设备连接到一起的技术,它是一种进程间通信方式,特别是跨系统的进程间通信,必须要通过网络才能进行。模型OSI 网络模型(开放式系统互联通信参考模型)应用层,负责为应用程序提供统一的接口。表示层,负责把数据转换成兼容接收系统的格式。会话层,负责维护计算机之间的通信连接。传输层,负责为数据加上传输表头,形成数据包。网络层,负责数据的路由和转发。数据链路层,负责 MAC 寻址、错误原创 2020-07-15 13:33:13 · 325 阅读 · 0 评论 -
LINUX性能调优--IO总结
文件系统 I/O 性能指标1 存储空间的使用情况,包括容量、使用量以及剩余空间。但这并不是真实的用量,文件系统的元数据也会占用磁盘空间。如果使用了RAID10,看到的磁盘容量最多是真实磁盘容量的一半。2 除此之外,容易忽略的是索引节点的使用情况,它也包括容量、使用量以及剩余量等三个指标。如果文件系统中存储过多的小文件,就可能碰到索引节点容量已满的问题。3 缓存使用情况也要注意,包括页缓存、目录项缓存、索引节点缓存以及各个具体文件系统(如 ext4、XFS 等)的缓存。4 文件IO也是重要的指标,包括原创 2020-07-14 20:30:56 · 3248 阅读 · 1 评论 -
LINUX 性能调优--IO案例
操作系统 Ubuntu 18.04机器配置:2 CPU,4GB 内存原创 2020-07-09 00:45:02 · 356 阅读 · 0 评论 -
Linux性能调优--磁盘IO
磁盘是可以持久化存储的设备,根据存储介质的不同,常见磁盘可以分为两类:机械磁盘和固态磁盘。第一类,机械磁盘,也称为硬盘驱动器(Hard Disk Driver),通常缩写为 HDD。机械磁盘主要由盘片和读写磁头组成,数据就存储在盘片的环状磁道中。在读写数据前,需要移动读写磁头,定位到数据所在的磁道,然后才能访问数据。显然,如果 I/O 请求刚好连续,那就不需要磁道寻址,自然可以获得最佳性能。这其实就是我们熟悉的,连续 I/O 的工作原理。与之相对应的,当然就是随机 I/O,它需要不停地移动磁头,来定位数据原创 2020-07-08 23:32:10 · 869 阅读 · 0 评论 -
LINUX性能优化--IO工作原理
同 CPU、内存一样,磁盘和文件系统的管理,也是操作系统最核心的功能。有以下两个基本功能:1 磁盘为系统提供了最基本的持久化存储。2 文件系统则在磁盘的基础上,提供了一个用来管理文件的树状结构。索引节点和目录项...原创 2020-07-08 23:31:38 · 285 阅读 · 0 评论 -
Linux性能调优--内存套路篇
总结一些解决内存问题,优化内存的一些思路1 内存性能指标系统内存使用情况已用内存和剩余内存很容易理解,就是已经使用和还未使用的内存。共享内存是通过 tmpfs 实现的,所以它的大小也就是 tmpfs 使用的内存大小。tmpfs 其实也是一种特殊的缓存。可用内存是新进程可以使用的最大内存,它包括剩余内存和可回收缓存。缓存包括两部分,一部分是磁盘读取文件的页缓存,用来缓存从磁盘读取的数据,可以加快以后再次访问的速度。另一部分,则是 Slab 分配器中的可回收内存。缓冲区是对原始磁盘块的临时存储,用原创 2020-07-07 13:48:01 · 374 阅读 · 0 评论 -
Linux性能调优--Swap变高
上一篇总结了内存泄漏。那么当发生了内存泄漏时,或者运行了大内存的应用程序,导致系统的内存资源紧张时,系统会如何应对呢?会导致两种可能结果,内存回收和 OOM 杀死进程OOM指的是系统杀死占用大量内存的进程,释放这些内存,再分配给其他更需要的进程。内存回收指的是系统释放掉可以回收的内存,比如我前面讲过的缓存和缓冲区,就属于可回收内存。它们在内存管理中,通常被叫做文件页(File-backed Page)。没有被修改过的直接回收,以后从硬盘直接读取就可以了。而那些被应用程序修改过的脏页必须要刷回硬盘,原创 2020-07-06 12:42:34 · 572 阅读 · 0 评论 -
LINUX性能调优---内存(内存泄漏)
当进程通过 malloc() 申请虚拟内存后,系统并不会立即为其分配物理内存,而是在首次访问时,才通过缺页异常陷入内核中分配内存。为了协调 CPU 与磁盘间的性能差异,Linux 还会使用 Cache 和 Buffer ,分别把文件和磁盘读写的数据缓存到内存中。对应用程序来说,动态内存的分配和回收,是既核心又复杂的一个逻辑功能模块。管理内存的过程中,也很容易发生各种各样的“事故”,比如,没正确回收分配后的内存,导致了泄漏。访问的是已分配内存边界外的地址,导致程序异常退出,等等。特别是对于C语言这种原创 2020-07-02 19:35:09 · 521 阅读 · 0 评论 -
LINUX性能优化--利用缓存提升性能
在内存基础篇讲了一个概念就是存储层次的概念,内存肯定是硬盘的存储速度快。然后上文也得出了一个结论:Buffer 和 Cache 分别缓存的是对磁盘和文件系统的读写数据。1 从写的角度来说,不仅可以优化磁盘和文件的写入,对应用程序也有好处,应用程序可以在数据真正落盘前,就返回去做其他工作。2 从读的角度来说,不仅可以提高那些频繁访问数据的读取速度,也降低了频繁 I/O 对磁盘的压力那么是否可以利用Buffer和Cache来提升系统的性能呢?答案是肯定的。性能优化的,必须要有个量化的标准来评估的效原创 2020-07-02 13:04:54 · 712 阅读 · 0 评论 -
LInux性能优化--内存(buffer 和 cache的区别)
当使用free工具输出的时候:大部分指标都比较容易理解,但 Buffer 和 Cache 可能不太好区分。从字面上来说,Buffer 是缓冲区,而 Cache 是缓存,两者都是数据在内存中的临时存储。不知道的情况,就查文档手册buffersMemory used by kernel buffers (Buffers in /proc/meminfo) cache Memory used by the page cache and slabs (Cached and SReclaimable原创 2020-06-22 23:40:58 · 1218 阅读 · 0 评论 -
LInux性能优化--内存(1基础篇幅)
平常买电脑的时候都会关注一个指标–内存。内存的作用是什么呢?平常我们使用的程序都是安装的硬盘上的,CPU要运行程序必须要先载入到内存里面。这是因为CPU的速度是远远高于硬盘的存取速度,为了效率使用了内存,存储层次架构如下图:内存都是内核来管理的,那么应用程序是怎么使用内存的?内存映射Linux 内核给每个进程都提供了一个独立的虚拟地址空间,并且这个地址空间是连续的。那么应用程序就可以很方便的使用了内存了,这一段内存叫做虚拟内存。虚拟内存意思就是不是真实的物理内存,那么内核就要负责把虚拟内存映射到原创 2020-06-21 23:11:41 · 170 阅读 · 0 评论 -
LINUX性能优化--cpu基础概念
cpu是系统的大脑,重要性不可置否。原创 2020-05-15 00:13:51 · 359 阅读 · 0 评论 -
linux性能调优(工具篇)--vmstat
vmstat - 虚拟内存统计工具vmstat工具报告进程,内存,页面,IO,中断,硬盘和CPU活动的信息。第一行会输出从启动到现在的平均值。其他行输出的是采样时间间隔的信息。在这两种情况下,进程和内存输出都是即时的使用方法:vmstat [options] [delay [count]]选项:delay The delay between updates in seconds. ...原创 2020-04-27 13:02:02 · 190 阅读 · 0 评论 -
linux性能调优(工具篇)--pidstat
pidstat是sysstat工具的一个命令,用于监控全部或指定进程的cpu、内存、线程、设备IO等系统资源的占用情况。在Debian/Ubuntu系统中可以使用下面的命令来安装apt-get install sysstatCentOS/Fedora/RHEL版本的Linux中则使用下面的命令yum install sysstat命令格式pidstat [参数] [时间] [次数]常...原创 2020-03-05 15:22:31 · 997 阅读 · 0 评论 -
linux性能调优(工具篇)--top
预先做其事必先利其器,先总结一下linux常用的调优工具地一个是最常用的 top从上往下看第一行top 是当前的时间up 启动了的时间user 当前的用户数量...原创 2020-03-05 14:41:49 · 374 阅读 · 0 评论