最新要闻
- 99元!华为Mate 60官方磁吸保护壳上架:素皮、硅胶全都有
- 虎扑女神大赛办到第八年 网友选择把战鹰推上神坛
- 389元!达墨1TB高速TF卡开启预售:V30U3 QLC颗粒
- 俄妹COS《蜘蛛侠》格温:紧身衣完美凸显身材
- Intel四大先进封装技术:既能盖“四合院” 也能建“摩天楼”
- 华为Mate60放水里也能用?外国小哥实测后直呼太酷啦!
- 《异人之下》发冯宝宝写真 网友:漂亮但完全不瓜
- 传下一代Switch明年面市
- 如何从周四就开始过周末?教你最有效的一招
- 乌尔善揭秘《封神第一部》拍摄:最大摄影棚 马跑8秒就出景
- 新疆“海鲜”上新:沙漠里的澳洲龙虾丰收啦!一斤130元
- 中国成世界最大投影市场:“中国制造”全球占比超75%
- 纯燃油车垂死挣扎 今年新车数量占比快跌到1/4了
- 全铝车身+后置后驱:奇瑞全新suv即将上市 命名“舒享家”
- 巴奴火锅称羊肉卷确实含有鸭肉成份:向顾客赔偿835.4万元!
- 机皇预定!曝华为Mate 60 Pro+明天开售:标配16GB内存 512GB起步
广告
手机
又是一年开学季丨无缝接驳 直通高校 武汉贴心迎新
科锐国际廖萍: 数字化人才将成为VUCA时代企业人才战略的核心
- 又是一年开学季丨无缝接驳 直通高校 武汉贴心迎新
- 科锐国际廖萍: 数字化人才将成为VUCA时代企业人才战略的核心
- 郑州地铁3号线二期通过初期运营前安全评估
- 筑牢基层安全“防火墙”盘龙区金辰街道这么做
- 中金关注政策组合拳的长期积极影响
- 军士选晋,为战选才!
家电
读高性能MySQL(第4版)笔记04_操作系统和硬件优化
(相关资料图)
1.从软件本身和它运行的典型工作负载来看,MySQL通常也更适合运行在廉价硬件上
2.基本资源
2.1.CPU
2.2.内存
2.3.磁盘
2.4.瓶颈
2.5.网络资源
3.CPU
3.1.最常见的瓶颈是CPU耗尽
3.2.检查CPU使用率来确定工作负载是否受CPU限制
3.3.低延迟(快速响应时间)
3.3.1.需要更快的CPU,因为每个查询将只使用一个CPU
3.4.高吞吐量
3.4.1.如果可以同时运行多个查询,那么可以使用多个CPU为查询提供服务
4.内存
4.1.内存耗尽的情况也会发生,但通常只在你试图将太多内存分配给MySQL时才会发生
4.2.配置大内存的主要原因并不是为了在内存中保存大量数据,而是为了避免磁盘I/O
4.3.磁盘I/O比访问内存中的数据要慢几个数量级
4.4.如果有足够的内存,可以完全避开磁盘读取操作
4.5.如果所有数据都能装入内存,那么一旦服务器的缓存预热完成,每次读取都将是一次缓存命中
4.6.写入可以像读取一样在内存中执行,但迟早必须被写入磁盘,才能持久保留数据
4.7.缓存可以延迟写操作,但缓存不能像消除读操作那样消除写操作
4.8.多次写操作,一次刷新
4.8.1.一个数据片段可以在内存中被多次更改,而无须每一次都将新值写入磁盘
4.8.2.当数据被最终刷新到磁盘时,自上次物理写入以来发生的所有修改都将被持久化
4.9.I/O合并
4.9.1.许多不同的数据片段可以在内存中被修改,这些修改可以被收集在一起,因此物理写可以作为单个磁盘操作执行
4.9.2.提前写日志(write-ahead logging)策略
4.9.2.1.允许在内存中更改页面,而不用将更改刷新到磁盘,这通常涉及随机I/O,速度非常慢
4.9.2.2.将更改的记录写入顺序日志文件,这样要快得多
4.9.2.3.后台线程可以稍后将修改过的页面刷新到磁盘,这样做可以优化写操作的性能
4.10.写操作从缓冲中获益,因为可以将随机I/O转换为顺序I/O
4.11.异步(缓冲)写操作通常由操作系统处理,并且是被成批处理的,因此可以更优地被刷新到磁盘
4.12.同步(无缓冲)写入必须等待数据落盘
5.固态(闪存)存储
5.1.I/O饱和也会发生,但比CPU耗尽的频率低得多
5.2.用HDD硬盘时,最好尝试找到一个有效的内存/磁盘比率
5.2.1.HDD延迟较高、IOPS较低
5.3.使用SSD时,内存对磁盘的比率就变得不那么重要了
5.4.固态设备对于提高服务器整体性能非常有用,现在通常应该成为数据库的标准配置,尤其对于OLTP工作负载
5.4.1.SSD通常比HDD快10到20倍
5.4.2.只有在预算极为有限的系统中,或者在需要惊人的高达数PB的磁盘空间的数据仓库场景下,才考虑继续使用HDD
5.5.比硬盘驱动器明显更好的随机读写性能
5.6.闪存设备读的能力通常略好于写的能力
5.7.比硬盘驱动器更好的顺序读写性能
5.8.比硬盘驱动器更好的并发支持
5.8.1.只有在拥有大量并发性的情况下,闪存设备才能真正实现最高吞吐量
5.9.固态存储设备使用非易失性闪存芯片组成的单元
5.9.1.非易失随机访问内存(NVRAM)
5.10.固态存储建立在闪存之上
5.11.闪存的特点
5.11.1.可以被快速地多次读取,而且以很小的单元读取数据
5.11.2.写入则要困难得多
5.11.2.1.只有进行特殊的擦除操作之后,存储单元才能被重新写入数据,并且每次擦除的块大小较大
5.12.写操作的限制是固态存储复杂性的原因
5.12.1.为了使写操作能够很好地执行,并避免过早地耗尽闪存块写寿命,设备必须能够重新定位页面,并执行垃圾收集和所谓的损耗均衡
5.13.为了使某些块保持新鲜并为新的写入做好准备,设备会回收块
5.14.100GB文件在160GB的SSD上的性能与在320GB的SSD上的性能是不同的
5.14.1.当没有空闲块时,必须等待擦除操作完成,从而导致速度减慢
5.14.2.写入空闲块需要几百微秒,但擦除速度要慢得多,通常需要几毫秒
6.RAID
6.1.存储引擎通常将数据/索引保存在单个大文件中,这意味着RAID通常是存储大量数据的最佳选项
6.2.不要认为RAID是数据安全方面的强有力的保证
6.2.1.RAID并不能消除,甚至不能减少备份的需要
6.3.保存在损坏的物理媒介中的数据很少被访问,可能几个月都不会被发现,直到尝试读取数据,或者当另一个驱动器出现故障,RAID控制器尝试使用损坏的数据重建阵列时才发现问题
6.3.1.硬盘空间越大,出现这种情况的可能性就越大
6.4.大多数控制器都提供了一些软件来报告阵列的状态,你需要对此进行跟踪,否则可能完全不知道驱动器已出现故障
6.4.1.到第二个驱动器出现故障时就太晚了
6.5.通过定期主动检查阵列的一致性,可以降低潜在的损坏风险
6.6.很多RAID控制器不能很好地处理大数据块
6.7.RAID缓存是物理安装在硬件RAID控制器上的(相对)少量内存
6.7.1.在RAID缓存中缓存读取都是浪费内存
6.8.RAID控制器的内存是一种稀缺资源,应该明智地使用它
6.9.对事务日志发出fsync()调用,并在启用sync_binlog的情况下创建二进制日志,但除非控制器有备用电池单元(BBU)或其他非易失性存储,否则不应启用写缓存
6.9.1.硬盘也可能会撒谎。应该确保在fsync()时刷新缓存,或者干脆在没有备用电池时禁用它们
6.9.2.当安装新硬件时,最好进行真正的暴力碰撞测试(例如把电源插头拔出来)。这通常是发现细微的错误配置或偷偷摸摸的硬盘行为的唯一方法
6.10.要测试RAID控制器的BBU是否真的可靠,请确保将电源线拔下一段时间
6.10.1.有些BBU设备在没电的情况下无法维持足够的时间(将RAID缓存的数据刷新到磁盘
6.10.2.一个环节出问题可能会导致整个存储系统链变得无用
6.11.RAID 0
6.11.1.最便宜和性能最好的RAID配置
6.11.2.永远不适合用于生产数据库
6.11.3.在开发环境中,当服务器完全失效也不会变成突发事件时,可以选择RAID 0
6.11.4.不提供任何冗余
6.11.5.RAID 0阵列的故障概率高于任何单磁盘的故障概率,而不是更低
6.12.RAID 1
6.12.1.良好的读性能,并且可以跨磁盘复制数据
6.12.2.良好的冗余
6.12.3.读取速度略高于RAID 0
6.12.4.顺序写入不需要许多底层磁盘就能执行得很好
6.12.5.需要冗余但只有两个硬盘驱动器的低端服务器的典型选择
6.12.6.大多数操作系统都允许你轻松地创建软件RAID 0和RAID 1卷
6.13.RAID 5
6.13.1.将数据分布在具有分布式奇偶校验块的多块磁盘上,以便在任何一块磁盘出现故障时,可以从奇偶校验块重建数据
6.13.2.如果两块磁盘同时出现故障,整个卷将无法恢复
6.13.2.1.丢失两块磁盘时会产生灾难性的后果
6.13.3.RAID 5的可伸缩性不能超过10块磁盘
6.13.4.良好的RAID 5的性能在很大程度上依赖于RAID控制器的缓存,这可能与数据库服务器的需求相冲突
6.14.RAID 6
6.14.1.允许你在承受两次磁盘故障的情况下仍然能重建阵列
6.14.2.计算额外的奇偶校验会使写操作比RAID 5慢
6.15.RAID 10
6.15.1.一个非常好的数据存储选择
6.15.2.条带化的镜像对组成,因此在读写方面都能很好地被扩展
6.15.2.1.最佳的条带块大小取决于工作负载和硬件
6.15.2.2.对于随机I/O来说,拥有较大的块大小是很好的,因为这意味着可以从单个驱动器中满足更多的读取需求
6.15.3.与RAID 5相比,它的重建速度快且容易
6.15.4.以很好地在软件中被实现
6.16.RAID 50
6.16.1.由条带化的RAID 5阵列组成,如果有很多磁盘,它可以很好地兼顾RAID 5的经济性和RAID 10的性能
6.16.2.主要用于非常大的数据集,如数据仓库或非常大的OLTP系统
7.网络
7.1.延迟和带宽是网络连接的限制因素
7.2.网络运行不正常是主要的性能瓶颈
7.3.数据包丢失是一个常见的问题
7.3.1.即使是1%的丢失也足以导致性能显著下降,因为协议栈中的各个层都会尝试通过等待一段时间然后重新发送数据包等策略来解决问题,这会增加额外的响应时间
7.4.DNS解析异常中断或缓慢成为一个致命弱点
7.4.1.对于生产服务器来说,启用skip_name_resolve是一个好主意
7.4.2.当MySQL收到连接请求时,它会同时进行正向和反向DNS查找
7.4.3.如果启用skip_name_resolve选项,MySQL不会进行任何DNS查找
7.4.3.1.意味着用户账号在host列中只能有IP地址、“localhost”或IP地址通配符
7.4.3.2.host列中包含主机名的任何用户账号都将无法登录
8.文件系统
8.1.文件系统是在数据库中保证数据完整性的最低层
8.2.Windows
8.2.1.只有一个(NTFS)是真正可行的
8.3.GNU/Linux
8.3.1.大多数时候,给定的文件系统跟其他文件系统相比不会有明显的差别
8.3.2.只有在某些情况下,达到文件系统的处理极限时,例如,需要处理高并发性、处理许多文件、碎片,等等,不同文件系统的差异才会体现出来
8.3.3.最好使用日志型文件系统,如ext4、XFS或ZFS
8.3.4.建议使用XFS文件系统,并将交换率和磁盘队列调度器设置为适合于服务器的值
8.4.磁盘队列调度器
8.4.1.完全公平排队,即CFQ(Complete FairQueuing)
8.4.2.在MySQL的工作负载类型下,CFQ会导致非常糟糕的响应时间,因为会不必要地阻塞队列中的一些请求
8.4.3.不要使用CFQ,它可能会导致严重的性能问题
8.5.内存和交换
8.5.1.给MySQL分配大量内存后,它的表现最好
8.5.2.InnoDB使用内存作为缓存来避免磁盘访问
8.5.2.1.意味着内存系统的性能会直接影响查询的速度
8.5.3.当使用SSD时,性能损失不像使用HDD时那样明显
8.5.3.1.仍然应该积极地避免交换,即使只是为了避免不必要的写操作,因为写操作可能会缩短磁盘整体寿命
8.5.4.更改存储引擎读写数据的方式
8.5.4.1.设置innodb_flush_method=O_DIRECT可以减轻I/O压力
8.5.4.2.该参数仅对InnoDB有效
8.6.很多技巧都是特定于内核版本的,所以要小心,特别是在升级时
8.7.Linux剖析器perf是一个非常有用的工具,可以用它来检查操作在系统级别发生的事情
关键词:
读高性能MySQL(第4版)笔记04_操作系统和硬件优化
99元!华为Mate 60官方磁吸保护壳上架:素皮、硅胶全都有
详细解释一下Spring是如何解决循环依赖问题的
虎扑女神大赛办到第八年 网友选择把战鹰推上神坛
389元!达墨1TB高速TF卡开启预售:V30U3 QLC颗粒
俄妹COS《蜘蛛侠》格温:紧身衣完美凸显身材
Intel四大先进封装技术:既能盖“四合院” 也能建“摩天楼”
华为Mate60放水里也能用?外国小哥实测后直呼太酷啦!
《异人之下》发冯宝宝写真 网友:漂亮但完全不瓜
传下一代Switch明年面市
如何从周四就开始过周末?教你最有效的一招
126.STL 之 空间配置器(allocator)
乌尔善揭秘《封神第一部》拍摄:最大摄影棚 马跑8秒就出景
新疆“海鲜”上新:沙漠里的澳洲龙虾丰收啦!一斤130元
中国成世界最大投影市场:“中国制造”全球占比超75%
纯燃油车垂死挣扎 今年新车数量占比快跌到1/4了
驾驶员安全与绿色出行:3D可视化技术的双重益处
mysql8 Found option without preceding group错误
React使用useRef调用子组件方法
Go 函数
全铝车身+后置后驱:奇瑞全新suv即将上市 命名“舒享家”
巴奴火锅称羊肉卷确实含有鸭肉成份:向顾客赔偿835.4万元!
机皇预定!曝华为Mate 60 Pro+明天开售:标配16GB内存 512GB起步
“特斯拉强敌”就要来了!Lucid加快进度 计划进入中国市场
华为Vision智慧屏SE3正式开售:2499元起 双120Hz高刷
1199元 小米AR体感运动主机上架:12核双芯+超广角镜头
唯一的双风扇!七彩虹iGame RTX 4070 Ultra限时降价100元
立减70元 29.9元到手!班尼路大牌长袖卫衣大促
土耳其玩家暴怒!PS+订阅费用在土区暴涨近5倍
浙江一村庄出现上千条眼镜蛇 竟是偷偷放生:当地回应
如何从周四就开始过周末?
驾驶特斯拉撞车:林志颖称车祸后理解能力变差 脸部留疤
东风汽车大召回!超110万辆日产汽车被召回:一个阀门的问题
高温连三月 今年或成有记录以来最热年
日系车在国内不好卖了!日产中国8月销量出炉 暴跌34%
中国知网作者服务平台发布试运行:作者可在线申领稿酬
离谱!女子胸口藏16只活蜥蜴入境被查:为印尼斑帆蜥 外来物种危害太大
EVA机甲风:361°3RX-AG1大河原邦男联名球鞋159元(门店699)
产量30年来新低!德国媒体毫不留情批评德国车企:时间不多了
项目管理流程文件,招标支撑文件,项目研发,验收等系列支撑文件
26.高并发服务器
Python名称空间和作用域,闭包函数
业务安全情报第22期 | 不法分子为何盗刷企业短信?
Induction of Design Pattern
减税降费接连出台 积极财政政策加力提效
【财经分析】多空博弈促债市继续盘整 10年期国债利率料上行“有顶”
【新华500】新华500指数(989001)7日跌1.45%
【财经分析】多空博弈促债市继续盘整 10年期国债利率料上行“有顶”
【金融街发布】外汇局:截至8月末外储规模为31601亿美元
不怕买不到首发!京东官宣可提前抢苹果iPhone新品
检测新途径!27年有望实现尿液宫颈癌HPV筛查
10岁男孩落水从山西漂到河北:仰面朝上 “教科书”式自救
美国半导体行业协会总裁:没有一个国家可以扭转芯片供应链 半导体行业需要中国
6999元最强“争气机”!华为Mate 60 Pro南糯紫图赏
沪硅产业:大基金提前终止减持股份计划
从三花猫到癌症治疗:新兴的表观遗传学有哪些机会?
广州海事局启动防热带气旋Ⅲ级响应防范“苏拉”
队报:维拉蒂接近加盟卡塔尔球队阿拉比 德拉克斯勒也可能离队
8月31日汇市观潮:欧元、英镑和澳元技术分析
AIGC说真相|那些年美国扔下的集束炸弹
福建提升防台风应急响应为Ⅱ级 启动防暴雨Ⅳ级应急响应
“谢谢警察叔叔!这是我第一次坐警车!”
跨国零售企业在华业务保持增长
杜锋:波多黎各喜欢出手三分会有长篮板 我们每个人都要努力去抢
三年级上册语文第五单元作文范文
降息了,A股却下跌了?市场在酝酿新的方向!
米干怎么吃 米干怎么吃法
卓越商企服务:主航道业务稳步增长 新赛道构建第二增长曲线
又是一年开学季丨无缝接驳 直通高校 武汉贴心迎新
小鹏最意难平旗舰SUV 新款G9谍照亮相:白内+双风冷无线充
湖南省委政法委:凝心铸魂筑牢根本 实干担当促进发展
先进数通(300541.SZ):主要业务领域,均与华为建立了深入的合作关系
梦到虫子有什么寓意(梦到虫子预示着什么)
美方无理扣留、盘查、遣返中国留学生,中方回应!
国产机器人龙头市场份额 新兴产业成为工业机器人应用新阵地
灵台县职业中等专业学校军训服、校服采购项目中标(成交)结果公告
科锐国际廖萍: 数字化人才将成为VUCA时代企业人才战略的核心
关塔那摩监狱前囚犯揭美军虐囚:放狗咬 剥夺睡眠
windows云电脑
友邦人寿加码银保业务有成效,偿付能力指标待改善
宁夏回族自治区党委原副书记、银川市委原书记姜志刚被“双开”
新突破!广州东部公铁联运枢纽首发汽车专列
直播带货的铠甲与软肋
贵州4地入选现代流通战略支点城市布局建设名单
工商银行喜结良缘金条30克价格今天多少一克(2023年08月31日)
东莞农商行上半年营收净利微增,资产质量继续保持平稳
越素越美!
衡东:800万元助学贷款助学子圆梦
做好垃圾分类,共建绿美花都
打出三张牌激发美食康养文旅消费热
正式成立!泉州市第一医院与上海九院医疗技术协作中心揭牌!
武汉市烟草局:守护成长 “未”爱护航
科创芯片ETF华安(588290)早盘震荡走强,已涨3.02%,盘中成交额破亿元
郑州地铁3号线二期通过初期运营前安全评估
筑牢基层安全“防火墙”盘龙区金辰街道这么做
椰子水价格暴涨4000%!供不应求 订单量上涨数倍
金华一批铁路相关项目有新进展
朱保全回应印力接管万科旗下商业项目进度:目前进展顺利
“共建‘一带一路’十周年:回顾与展望”国际研讨会在霍尔果斯成功举办
以系统观念深入开展主题教育