一、I/O多路复用 I/O的含义:在计算机领域常说的IO包括磁盘IO和网络IO,我们所说的IO复用主要是指网络IO;在Linux中一切皆文件,因此网络IO也经常用文件描述符FD来表示。 复用的含义:在通信领域中为了充分利用网络连接的物理介质,往往在同一条网络链路上采用时分复用或频分复用的技术,使其在 ...
分类:
编程语言 时间:
2020-05-24 13:30:54
阅读次数:
85
数据结构丰富 高性能 数据存储全内存 支持持久化 支持master-slave热备 支持事务 支持集群 单进程/线程 基于epoll 非阻塞网络io 数据类型 string 二进制安全,动态扩容,提前动态分配,所需两边分配 list 快速双向链表 lpush rpush lpop rpop set ...
分类:
其他好文 时间:
2020-05-21 14:40:17
阅读次数:
62
写在前面:缓存IO又称为标准IO,大多数文件系统的默认IO操作都是缓存IO。在LINUX的缓存IO机制中,操作系统会将IO的数据缓存在文件系统的页缓存(page cache)中,也就是说,数据会先拷贝到操作系统内核的缓冲区中,然后才会从操作系统的内核缓冲区拷贝到应用程序的地址空间。 网络IO的本质是 ...
分类:
其他好文 时间:
2020-05-16 00:51:58
阅读次数:
82
1、命令使用# 每秒钟查看1次,共查看2次sar -n DEV 1 22、说明IFACE 表示设备名称rxpck/s 每秒接收的包的数量txpck/s 每秒发出的包的数量rxKB/s 每秒接收的数据量,单位KByte 1KB=1000byte=8000bittxKB/s 每秒发出的数据量,单位KBy... ...
分类:
系统相关 时间:
2020-05-13 12:35:12
阅读次数:
105
后端优化的六种方法: 1.硬件升级 硬件问题对性能的影响不容忽视。 举一个例子:一个DB集群经常有慢SQL报警,业务排查下来发现SQL都很简单,该做的索引优化也都做了。后来DBA同学帮忙定位到问题是硬件过旧导致,将机械硬盘升级成固态硬盘之后报警立马消失了,效果立竿见影! 2.缓存化 缓存可以称的上是 ...
分类:
其他好文 时间:
2020-05-07 13:27:11
阅读次数:
80
IO编程简介 IO在计算机中指Input/Output,也就是输入和输出。由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘、网络等,就需要IO接口。 比如你打开浏览器,访问新浪首页,浏览器这个程序就需要通过网络IO获取新浪的网页。浏览器首先会发送 ...
分类:
编程语言 时间:
2020-05-01 00:53:55
阅读次数:
65
一、概述 1、指的是针对网络的IO。 2、常见的会产生网络IO阻塞的状态:accept,recv(recvfrom)。 3、接收数据的两个阶段:操作系统等待对方数据传过来的wait_data(waiting for the data to be ready)和操作系统将数据从内核拷贝到进程的copy ...
分类:
其他好文 时间:
2020-04-29 00:50:03
阅读次数:
66
[TOC] 参考博客:https://www.cnblogs.com/linhaifeng/articles/7454717.html 一 IO模型 1.1 网络IO模型有很多,它们都是为了解决一个问题: 减少IO等待时间,提高计算机效率 应用程序遇到IO操作,会阻塞在原地等待,这样降低了计算机的执 ...
分类:
其他好文 时间:
2020-04-28 20:22:41
阅读次数:
63
IO模型简介 """ 我们这里研究的IO模型都是针对网络IO的 Stevens在文章中一共比较了五种IO Model: * blocking IO 阻塞IO * nonblocking IO 非阻塞IO * IO multiplexing IO多路复用 * signal driven IO 信号驱动 ...
分类:
其他好文 时间:
2020-04-28 16:50:26
阅读次数:
53
背景收到nginx的超时报警和服务所在机器的load报警,通过分析问题时间段的系统cpu,内存,网络io,磁盘io使用情况,发现是磁盘io达到瓶颈导致。通过iostat看磁盘的await(平均每次设备I/O操作的等待时间)时间达几百毫秒且util(一秒中有百分之多少的时间用于I/O操作,即被io消耗的cpu百分比)持续100%分析定位问题服务1,通过使用iotop来看系统上使用io最多的进程,发现
分类:
其他好文 时间:
2020-04-23 00:50:14
阅读次数:
181