当前位置: 首页 > news >正文

mysql8 wordpress杭州seo网络推广

mysql8 wordpress,杭州seo网络推广,wordpress 群聊汉化版插件,网页制作三大软件数据库管理226期 2024-08-05 数据库管理-第226期 内存至超线程(20240805)1 CPU内缓存结构2 缓存与内存3 单核单线程4 超线程5 超线程的利弊总结 数据库管理-第226期 内存至超线程(20240805) 作者:胖头鱼的鱼缸&#xf…

数据库管理226期 2024-08-05

  • 数据库管理-第226期 内存至超线程(20240805)
    • 1 CPU内缓存结构
    • 2 缓存与内存
    • 3 单核单线程
    • 4 超线程
    • 5 超线程的利弊
    • 总结

数据库管理-第226期 内存至超线程(20240805)

作者:胖头鱼的鱼缸(尹海文)
Oracle ACE Pro: Database(Oracle与MySQL)
PostgreSQL ACE Partner
10年数据库行业经验,现主要从事数据库服务工作
拥有OCM 11g/12c/19c、MySQL 8.0 OCP、Exadata、CDP等认证
墨天轮MVP、年度墨力之星,ITPUB认证专家、专家百人团成员,OCM讲师,PolarDB开源社区技术顾问,HaloDB外聘技术顾问,OceanBase观察团成员,青学会MOP技术社区(青年数据库学习互助会)技术顾问
圈内拥有“总监”、“保安”、“国产数据库最大敌人”等称号,非著名社恐(社交恐怖分子)
公众号:胖头鱼的鱼缸;CSDN:胖头鱼的鱼缸(尹海文);墨天轮:胖头鱼的鱼缸;ITPUB:yhw1809。
除授权转载并标明出处外,均为“非法”抄袭

8月第一篇技术文章,离上一篇又隔了好几天,上周末在公众号写了篇骂人的,最终发现,还是写技术文章舒服一点。
上周吕海波老师写了一篇《详解超线程:一点也不逻辑的逻辑CPU》(https://mp.weixin.qq.com/s/-oZossf4tatoAehIo_Ldug),我想班门弄斧一下,深入一点点。

1 CPU内缓存结构

image.png
以我笔记本上的AMD Ryzen 9 6900HX(8核心16线程)为例,通过CPU-Z我们可以看到CPU内部是存在3级缓存结构的,称为L1、L2、L3缓存:

  • L1缓存:L1缓存被分为数据缓存(8x32KB,256KB)和指令缓存(8x32KB,256KB),总计0.5MB,这一部分是每个物理核心独享的。L1缓存是最快且容量最小的存储级别,是CPU首先寻找数据的位置。当所需数据存在于L1缓存时,即缓存命中,CPU 便会从L1缓存中直接读取数据进入核心操作或操作完成后写入数据。
  • L2缓存:L1缓存被分为(8x512KB),总计4MB,这一部分是每个物理核心独享的。当缓存未命中,即所需数据不在L1缓存中时,CPU 转而检查L2缓存。L2缓存容量更大,但速度稍慢。
  • L3 缓存:L3缓存为16路总计16MB,这一部分是所有物理核心共享的。如果L2缓存也未命中,CPU会接着检查L3缓存。L3缓存是所有缓存级别中容量最大但响应速度最慢的。

image.png

2 缓存与内存

即便有了上一节中对CPU内部三级缓存的概述,但是仍然对其没有直观的感受。
首先我们要知道一点,CPU物理核心都是需要对数据进行操作的,为了提升CPU物理核心的使用效率,CPU物理核心就需要更快的获得数据,那么我们来看看为啥即便是有了大容量的内存,还需要在CPU内部构建多级缓存,这里看看AIDA64的内存与缓存的测试结果:
image.png
这里可以看到内存无论是延迟还是带宽与CPU内部缓存都是有着巨大的差距的,就更别说即便是PCIe4.0 NVMe SSD与内存之间的差异了。这样的设计就是让常用的数据和指令尽可能缓存在贴近CPU物理核心的地方,以提升CPU物理核心处理数据的效率。这里可以画一张从磁盘到CPU的数据传输路径:
image.png
虽然从磁盘到缓存的带宽和延迟有着巨大的差异,但是容量确实反着来的,全量数据才磁盘,内存中有部分数据,缓存则是很小一部分数据。这么设计的缘由其实是将数据以不同容量“预读”在不同带宽、延迟的内存/缓存之中,当高速小容量的缓存需要交换数据时可以更好的从低速大容量的缓存/内存中“预载”的数据中更快的交互数据。越是与磁盘数据交互多的场景,这种设计效果越好,这也是数据库要尽可能充分利用内存资源的重要原因之一。

3 单核单线程

这里就要看一下CPU物理核心在单核单线程下的工作原理了,这里要重申一点,一个物理核心在同一个时间点只能处理一件事情。那么物理核心处理一次请求的流程大致如下:
image.png
这里就可以看到请求1来的时候会讲对应数据缓存,CPU物理核心去读取,操作完成后返回给缓存并反馈给请求发起方,待缓存清理后请求2才能执行对应的操作。那么在缓存进行数据交互的时候CPU物理核心就会处于空闲状态,即便缓存速度很快,也会浪费大量CPU资源(这里可以看看CPU频率和时间的比值)。

4 超线程

那么超线程技术实现了些什么?其实就是将缓存交换的时间给节省出来,简单来说就是在CPU物理核心在做数据操作的时候,有另一路缓存在提前缓存数据:
image.png
这样CPU就会减少甚至消除等待缓存交换数据的过程,从而提升CPU物理核心的利用效率,从另一个角度提升了CPU物理核心处理并发的能力。从一些资料查看,可以带来至少30%以上的性能提升。并且这是通过CPU物理层面实现的。

5 超线程的利弊

超线程的优势肯定是提高CPU物理核心利用效率,从而从整体层面提高CPU处理并发的效率,但是要实现这一功能,CPU需要增加一些简单的物理线路来实现,会增加晶体管数量、核心面积以及发热量。
另一方面如果是以前面图片为例,请求1请求2可能分属两个不同的进程,可能会增加同一进程响应延迟,但是对于碎片化较多的操作请求(比如数据库),那么超线程技术还是可以带来很客观的性能提升。但是在比如游戏的场景中,往往更看重核心频率且都是线性处理,那么超线程可能会带来一些反作用(这也看游戏的多核心优化做的如何)。

总结

本期简单介绍了一下内存、缓存以及超线程之间的关系与原理。
老规矩,知道写了些啥。

http://www.yayakq.cn/news/303253/

相关文章:

  • 网站的建设初步定位东莞英文网站制作
  • 简单网页制作代码html新媒体seo指的是什么
  • 虚拟空间的网站赚钱吗网站被k 多久恢复
  • 婚礼策划网站设计深圳专业商城网站
  • 那个网站推作者赣州网页设计公司
  • 虚拟主机 多个网站多语言版本网站制作
  • 槐荫区网站建设网站运营及推广
  • jeecms做企业网站网站怎么做下载
  • 临清做网站推广建设新闻博客类网站要多大空间
  • pc网站设计哪家公司好北京海淀区官网
  • 南通网站建设优化wordpress仿站步奏
  • 网站怎么加入百度网盟网络科技网站建设
  • 国外一直小猫做图标的网站哪个网站做免费小程序
  • 河北网站开发费用随州网站建设有哪些
  • 优咔科技与丽台科技合作协议湛江seo网站管理
  • 猪八戒网可以做网站吗在百度上做网站怎么做
  • 郑州网站商城建设做网站的能赚多少钱
  • 烟台高端品牌网站建设有人有片资源吗免费的视频
  • 狗狗和人做网站首京建设投资引导基金网站
  • 东莞市住房建设部网站网站开发与实践题库
  • 网站建设总体说明如何做直播网站
  • 网站怎么做seo_无锡网站营销公司简介
  • 网站权重一直做不上去宜昌注册公司
  • 陕西省交通建设公司网站营销软件培训
  • 一个完整的网站设计公司注册地址和实际不一样可以吗
  • 网站开发流程电话购物网站发展规划与建设进度
  • 网站界面风格百度智能小程序怎么优化排名
  • wordpress 站点更改吉林省建设安全信息网官网
  • 酒店网站源码上下篇文章wordpress
  • 榆林北京网站建设wordpress都可以干什么