• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

mysql分布式思想(三)-性能优化之影响mysql性能的因素_mysql

mysql 搞代码 7年前 (2018-06-07) 168次浏览 已收录 0个评论

mysql分布式思维(三)-性能优化之影响mysql性能的因素

影响mysql性能的因素
1.商业需求对性能的影响
     —–>商业需求需要合理
     —–>论坛(小的需求)
               —–>实时统计帖子的总量  select count(*) 即可  如果现在标中已经有千万条记录
        —–>这样的一个查询就会有很大的消耗  成为性能的瓶颈
        —–>帖子的数目专门一张表一个字段来存放,那么该表就会变成高并发
                  即使innodb存储引擎也不行,因为行锁,而帖子数据就只有一行。无法应对高并发操作又会成为瓶颈
     —–>很多的统计信息都是准实时的而不是实时统计
              —–>网站的一些数量信息、分页信息、排序信息等等
                 一般都不是实时的而是准实时的。
     —–>在公司内部应该有一个评估来评估需求是否合理
               —–>产品经理提出新需求的时候,一定要给出预期的收益指标,以备上线后计算投入产出比率
        —–>在项目进行过程中,要详细记录投入(人了、硬件等)
        —–>上线之后实际的收益值
        —–>总结出一些规则和规律
2.系统架构(存储架构)及实现对性能的影响
    —->数据存储架构要合理(后面会详细讲解 —>特别是分布式的情况)
           —->架构合理才是雪中送炭的,然后才是其它方面的优化
    —->你的数据是否都适合放在mysql中
          —–>流水队列数据
   —–>二进制多媒体数据
   —–>超大的文本数据
   —–>其它    文件、图片等等
    —–>是否做适当的缓存
            —->数据库访问及其频繁的数据  是否做了热点缓存
     —->数据库Server本身的缓存是否合理使用
     —->什么样的数据是否放在缓存当中
              —->热点数据
       —->系统各种配置及规则数据
       —->活跃用户的基本信息数据
       —->准实时的统计信息数据
       —->…  ….
    —–>数据库设计、数据query语句的实现等等

 3.query语句对数据库性能的影响(后面会详细讲解)
        —->开发人员不能只关注查询结果不关注查询过程
       —>例:每个用户查询各自相册列表(假设每个列显示10张相片),能够在相片后有留言,
                    我们要查看留言的数量。
      —>方案1:  select id,subject,url from photo where user_id=? limit 10
                        通过第一步的结果循环10次执行select count(*) from photo_comment where photo_id=?
                          —>方案2 : 
                        第一步和上面是一样的
          第二步通过程序拼装上面的到的10个photo_id,通过in查询
          select photo_id,count(*) from photo_comment where photo_id in(?)group by photo_id”
             一次得到10个photo_id所有的回复数量

    —->简要分析的方案2更简单一些。
 —–>将来要具体看执行计划和性能损耗情况(cpu,io的损耗情况)
 —–>需要了解mysql整个查询的原理,性能损耗情况等情况在后续的章节中会详细讲解。
4.Schema设计对系统性能影响(后续章节也会详细讲解)
      —->论坛帖子案例(假设现在是高并发的一个论坛系统)
              —->高并发的论坛最高的并发在哪里?
                  —–>最高的并发是查看帖子标题列表,现在往往帖子标题后面会跟一个作者的昵称
              这里就需要有一个join查询
           —–>在高并发的操作当中是不应该用join查询的
    —–>我们会在帖子表中冗余存放作者昵称
                 —->违反了范式    —->现在的设计经常范式和非范式结合使用

5.硬件环境对数据库的性能的影响
    —->如何去选择服务器
          —->添加后者购买数据库服务器有什么标准吗
             —->很多企业在购买服务器的时候需要负责人员提出方案  该方案如何写。
          —–>了解TPC
               —–>TPMC—衡量服务器的处理能力的

    —–>如何去选择具体的硬件
              —->OLTP系统
                 —->并发量大,整体数据量多,每次访问数据较少,访问数据比较离散,
           有活跃数据并且比例不大。
          —->要大的内存活跃数据可以Cache,访问频繁每次访问数据少
           那么对磁盘的IOPS表现要好,吞吐量是次要的。并发高,CPU要求高
    网络交互频繁网络设备要求较高
     ——>OLAP的系统
                —->数据量大,并发访问不多,每次访问需要检索的数据都比较多,访问集中,
                 没有明显的活跃数据
         —->尽可能大的磁盘吞吐量,并发不多,CPU要求不高。

    —–>总结:要根据自己系统的特性选择更适合更廉价的硬件设备。

欢迎大家阅读《mysql分布式思想(三)-性能优化之影响mysql性能的因素_mysql》,跪求各位点评,by 搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:mysql分布式思想(三)-性能优化之影响mysql性能的因素_mysql

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址