码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • GBase 8s中IO读写方法


    GBase 8s读写磁盘采用两种方式。

    • 内核IO(Kemal AIO)–通过操作系统来进行非阻塞的磁盘读写操作,传统的读写方式中,当数据要写到磁盘或者从磁盘读数据时,进程将处于等待的状态,内核IO代替了传统的这种方式,数据库递交了读写请求之后可以继续处理,当IO结束之后,数据库将被通知。需要浏览machine notes文件了解内核IO在你的操作系统上是否可以使用,并且只有裸设备才可以使用KAIO.
    • 异步IO–数据库通过AIO虚拟处理器完成磁盘读写操作。当没有配置KAIO时,AIO VP会生效。另外,熟文件只能通过AIO VPs来完成读写操作。

    image.png
    1.通过AIO VPs完成磁盘读写操作
    (1)在CPU VP上的sqlexec线程解析和优化select语句
    (2)sqlexec线程尝试从缓存池中读取满足查询的页面
    (3)如果sqlexec线程在缓存池中找不到所需要的页面,它会放一个AIO的请求到AIO VP的队列中,目的是要访问磁盘中的信息
    (4)sqlexec线程会让位于就绪队列中的另外一个线程,把自己放到等待队列中,等待AIO VP完成读页面的请求。
    (5)AIO VP从磁盘中读出数据,并把它放到缓存池中。
    (6)一旦读操作完成,sqlexec线程将被到就绪队列中,因此可以继续执行select语句。
    (7)sqlexec线程从缓存池中抓取了数据返回给客户端。


    image.png
    2.内核IO
    KAIO是由操作系统内核协调完成的,KAIO调用通过kio线程来处理,当第一个裸设备被打开时kio线程会启动,除了AIO VP完成的步骤以外,使用KAIO还会发生下面的一些操作。
    (1)当一个用户连接请求写或读时,这个请求会放到AIO队列中。
    (2)kio线程读到这些请求,然后递交一个信息给操作系统去完成磁盘读写的操作,此时,kio已经完成了任务。
    (3)操作系统负责完成缓存池和磁盘之间的I/O操作。
    (4)CPU VP发现IO操作已经完成。
    (5)CPU VP把线程放到就绪队列中。

    每个CPU VP会有一个AIO队列和一个kio线程,由于sqlexec线程也是在CPU VP上,当执行内核I/O时,操作系统的上下文切换会减少,从而可以提高性能。

  • 相关阅读:
    Matlab:转换日期向量返回意外输出
    http和https的区别、什么是对称密钥,什么是非对称密钥
    C语言 3:常量和变量,顺序语句,选择语句,循环语句,作用域和生存期
    21天学习挑战赛-剖析直接插入排序和折半插入排序
    muduo库的高性能日志库(四)——LogFile文件
    Uniapp 实现全民分销功能
    时代落在英伟达身上的是粒什么沙,国产GPU的机会又在哪?
    十五. 实战——mysql建库建表 字符集 和 排序规则
    内网ip如何变成公网ip?快解析转换域名映射外网访问
    hive insert values 方式
  • 原文地址:https://blog.csdn.net/qq_37004539/article/details/126124955
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号