查看“高性能MySQL笔记(下)”的源代码
←
高性能MySQL笔记(下)
跳转至:
导航
、
搜索
因为以下原因,你没有权限编辑本页:
该页面已被保护以防止编辑和其他操作。
您可以查看并复制此页面的源代码:
[[category:MySQL]] 相关文章:[[高性能MySQL笔记(上)]] =第九章操作系统和硬件优化= ==9.1什么限制了MySQL的性能== 最常见的两个瓶颈是CPU和I/O<br /> ==9.2如何选择CPU== 快速CPU还是多CPU,有两个目标: ;低延时(快速响应):要做到这一点就需要高速CPU ;高吞吐:如果能同时运行很多查询,则可以从多CPU中受益 MySQL复制,也能在高速CPU下工作的非常好,而多CPU对复制的帮助不大。而备库的瓶颈通常是I/O子系统而不是CPU(因为在备库上已经被简化成了串行化任务) ==9.3平衡内存和磁盘资源== ;顺序I/O比随机I/O快:内存随机访问比磁盘随机访问快了2500倍,但顺序读只比磁盘快了10倍左右 :假设每次读取100字节: :*磁盘 随机寻道:100次/S ; 50M/S的顺序读 :*内存 随机访问:25万次/S; 顺序访问:500万次/S。内存的顺序读写速度一般都在10G/S以上 ;缓存命中率:缓存命中率实际上也会决定使用了多少CPU,所以评估缓存命中率的最好方法是看CPU的使用率。 :例如,若CPU使用了99%的时间工作,用了1%时间等待I/O,那缓存命中率还是不错的。(REF: 7.12节论述了查询缓存,不要和这里的概念混了) ==9.4固态存储== 闪存最重要的两个特性:1、提升随机I/O;2、提高并发操作<br /> '''写放大'''及'''垃圾收集''' 对性能影响较大(尤其是空间快满了的时候)<br /> ===9.4.2闪存技术=== 有两种闪存类型: #单层单元(SLC):每个单元存储一个比特(0或1)。SLC相对更昂贵,但非常快,并且擦写寿命高达100000个写周期(20年左右)缺点是存储密度相对较低 #多层单元(MLC):每个单元存储2个比特(3个比特设置也正在进入市场中)。这使得存储密度提高了,但速度和耐擦写性能降低了。一个不错的MLC设备可能被定为10000个写循环周期(2年) ===9.4.3闪存的基准测试=== 闪存的三阶段模式,我们称为A-B-C模式: #A:开始阶段,通常运行比较快 #B:过度状态状态,此时垃圾回收开始工作 #C:稳定状态,此时最慢 作者的基准测试: http://www.ssdperformanceblog.com http://www.mysqlperformanceblog.com ===9.4.4固态硬盘=== SSD是否配置电容或者电池是我们必须关注的特性 ===9.4.5PCIe设备=== 没有什么能比得上PCIe设备上获得的性能。缺点是它们太贵了。 ===9.4.6什么时候应该使用闪存=== #一些事务或插入繁忙的工作负载 #单线程负载是另一个闪存的潜在应用场景。MySQL复制是单线程工作的典型例子,它可以从低延迟中获得很多收益 #闪存也可以为服务器整合提供巨大的帮助,尤其是PCIe方式的。我们已经看到了机会,把很多实例整合到一台物理服务器——有时高达10或15倍的整合都是有可能的(详见11章) 然而缓存也可能不一定是你要的答案。一个很好的例子是,像InnoDB日志文件这样的顺序写的工作负载,闪存不能提供多少性能优势,因为这种情形下,闪存连续写方面不比标准硬盘快多少。这样的工作负载也是高吞吐的,会耗尽缓存的寿命。在标准硬盘上存放日志文件通常是一个更好的主意,用具有电池保护的写缓存的RAID控制器。<br /> 有时答案在内存/磁盘的比例,而不只是磁盘。 ===9.4.7使用Flashcache=== Flashcache创建了一个块设备,并且可以被分区,也可以像其他块设备一样创建文件系统,特点是这个块设置是由闪存和磁盘共同支撑的。闪存设备用作读取和写入的告诉缓存。<br /> *尽管理论上Flashcache可能更高效,但最终性能并不如低层闪存那么好。 *从测试来看,尚不清楚对写负载有多大好处,但对读肯定有好处。于是它适合这样的情况:'''有大量的读I/O,并且工作集比内存大的多。''' *除了实验,这里有个生产环境的实例经验:有个4T的数据库,这个数据库遇到了很大的复制延迟。我们给系统加了半个TB的Virident PCIe卡作为存储。然后安装了Flashcache,并且把PCIe作为绑定设备的闪存部分,复制速度就翻了一倍 ;关于磁盘的IOPS:参考中列出的最好的一个IPOS: 3,5" 15.000 rpm FC 150 IOPS :参考[http://elf8848.iteye.com/blog/1731301 常见硬盘IOPS参考值] [http://elf8848.iteye.com/blog/1731274 磁盘性能指标--IOPS 理论]
返回
高性能MySQL笔记(下)
。
导航菜单
个人工具
创建账户
登录
命名空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
相关站点
站长博客
分类
DB
WEB
iOS
Android
深度学习
技术收集
素材收集
历史
常用网址
导航
首页
最近更改
随机页面
帮助
常用管理页面
五笔字根表
工具
链入页面
相关更改
特殊页面
页面信息