• 第一节 优化概览


    官方文档的第八章蛀牙讲述的mysql的性能优化。优化涉及到os或者server自身的参数配置,调优以及性能压测;维度可能是个别sql的优化,整个应用,单实例,多实例集群,可能是事先的优化,也有可能是问题发生后的对配置或者代码问题的troubleshoot。也能通过优化cpu和内存的用法来提升性能。

    数据库性能影响的决定因素:比如表、查询、配置

    软件引起的硬件层面cpu和io操作尽量最小化

    源码调优,开发存储引擎插件

    1.数据库层面的优化

    • 要让数据库更快的,最重要的基本的数据库设计?

    表结构是否恰当,尤其是字段的数据类型是否正确(最优),每个表是否设计合适的列,比如:更新频繁的表一般是拆分成多个表更新,有大数据量分析的表一般是要进行反范式设计的单表查询

    • 有使查询有效的正确创建的索引吗?
    • 表的存储引擎选择是否正确?
    • 表使用的行格式合适吗?特别地,compressed格式能够节省磁盘空间减少读写带来的磁盘io
    • 应用使用的锁策略合适吗?
    • 缓存的设置大小合适吗?

    2.硬件层面的优化

    不管是什么数据库,当数据库越来越忙的时候,最终都难免会达到硬件的瓶颈,我们必须评估当前系统的容量瓶颈,是否能够通过系统调优或者配置调整来避免系统的瓶颈,或者说是需要扩充硬件资源来达到目的

    • 磁盘扫描,机械硬盘低于10ms,优化手段,分布式分散磁盘io
    • 磁盘读写,带宽大于10–20MB/s,多块磁盘并行读写
    • cpu时钟周期
    • 内存带宽

    Balancing Portability and Performance 略

    8.1 Optimization Overview

  • 相关阅读:
    OO先导课——第二次上课
    OO先导课——第一次上课
    OO先导课——JAVA初见懵的知识合集
    OO先导课——作业(1)
    在驱动和应用程序间共享内存
    【求助】NdisSend,自定义数据包发送失败?
    HTTP协议详解(真的很经典)
    原始数据包的分析
    IP数据包的校验和算法
    基于IMD的包过滤防火墙原理与实现
  • 原文地址:https://www.cnblogs.com/geek-ace/p/15127740.html
Copyright © 2020-2023  润新知