《数据库内核的降维观测方法:从CPU看数据库——吕海波.pdf》由会员分享,可在线阅读,更多相关《数据库内核的降维观测方法:从CPU看数据库——吕海波.pdf(23页珍藏版)》请在三个皮匠报告上搜索。
1、数据库内核的降维观测方法数据库内核的降维观测方法从从CPUCPU看数据库看数据库IvorySQL 2025IvorySQL 2025生态大会生态大会暨暨PostgreSQLPostgreSQL高峰论坛高峰论坛吕海波吕海波 PG ACED PG ACED 北京大学北京大学 数据库课程企业导师数据库课程企业导师CPUCPU流水线的秘密:流水线的秘密:神秘的PMC与PMU示例数据库示例数据库1 1的改进与不足:的改进与不足:从CPU看程序示例数据库示例数据库2 2的秘密花园的秘密花园使用PMC推导软件架构目录CONTENTSIvorySQL 2025IvorySQL 2025生态大会生态大会暨暨Po
2、stgreSQLPostgreSQL高峰论坛高峰论坛神秘的神秘的 PMC PMC 与与 PMUPMUPMC:Performance Monitoring CounterPMU:Performance Monitoring UnitIvorySQL 2025IvorySQL 2025生态大会生态大会暨暨PostgreSQLPostgreSQL高峰论坛高峰论坛PMCPMC的作用:的作用:CPU中内置了上千个计数器,CPU那么小,还要内置这么多计数器,一定有它的意义?它的意义:对程序进行profiling(或画像/侧写/)通过画像,让开发者了解程序在CPU中的运行状况,有针对性的调整、优化程序,以提
3、高程序性能、能效。IvorySQL 2025IvorySQL 2025生态大会生态大会暨暨PostgreSQLPostgreSQL高峰论坛高峰论坛perfperf 与与 PMCPMCperf stat-ePMC1,PMC2,PMCn-p/t 进/线程IvorySQL 2025IvorySQL 2025生态大会生态大会暨暨PostgreSQLPostgreSQL高峰论坛高峰论坛CPUCPU中有什么中有什么PMCs PMCs?开始演示,请键入perf list命令perf listIvorySQL 2025IvorySQL 2025生态大会生态大会暨暨PostgreSQLPostgreSQL高峰论
4、坛高峰论坛PMCPMC的作用:的作用:IvorySQL 2025IvorySQL 2025生态大会生态大会暨暨PostgreSQLPostgreSQL高峰论坛高峰论坛开始演示:画像perf stat-einstructions:u-t 26896衡量衡量CodingCoding水平:水平:IvorySQL 2025IvorySQL 2025生态大会生态大会暨暨PostgreSQLPostgreSQL高峰论坛高峰论坛分枝指令数not_taken分枝指令数IvorySQL 2025IvorySQL 2025生态大会生态大会暨暨PostgreSQLPostgreSQL高峰论坛高峰论坛进程进程 与与
5、线程:线程:进、线程之争是由来已久的话题。1996年Linux创始人林纳斯,为了终止这场况日持久的争论,发了一篇邮件,右图是邮件内容(部分)。之后若干年,操作系统领域进、线程之争逐渐停息,江湖又恢复了往日的宁静。直到TLB(Translation Look-aside Buffer)IvorySQL 2025IvorySQL 2025生态大会生态大会暨暨PostgreSQLPostgreSQL高峰论坛高峰论坛内存变量a内存变量b共享内存区(如Shared Buffers)VA TagASIDDescOthersKernel Space进程1 User Space进程2User SpaceGlo
6、balTLB(Translation Look-aside Buffer)IvorySQL 2025IvorySQL 2025生态大会生态大会暨暨PostgreSQLPostgreSQL高峰论坛高峰论坛Kernel Space进程1 User Space线程 1线程 2Global内存变量a内存变量b共享内存区(如Shared Buffers)VA TagASIDDescOthers用用 PMCPMC 推导软件架构:准备测试数据推导软件架构:准备测试数据IvorySQL 2025IvorySQL 2025生态大会生态大会暨暨PostgreSQLPostgreSQL高峰论坛高峰论坛用用 PMCP