zoukankan      html  css  js  c++  java
  • 系统架构及实现对性能的影响(一)

    零.Mysql的储存引擎

      1.MyISAM(默认):支持三种类型索引.B-Tree(最常用).R-Tree(很少用),Full-text(数据结构也是B-Tree)

      2.Innodb(第三方) 支持事务,实现外键,锁定机制改进,多版本读取

      3.NDB Cluster(分布式集群环境)

    一.不适合在数据库中存放的数据

      1.二进制多媒体数据

        包括图片,音频,视频和其他的二进制文件

      2.流水队列数据:

        使用成熟的第三方队列插件来实现流水日志记录系统

      3.超大文本数据

    二.应用层合理使用Cache

      1.系统各种配置及规则数据

      2.活跃用户的基本信息数据

      3.活跃用户的个性化定制信息数据

      4.基于时间段的统计信息数据

      5.其他一些访问频繁但变更较少的数据

    三.优化sql语句

    四.架构设计不当带来的性能问题和资源浪费情况

      1.Cache系统的不合理利用导致Cache命中率低下,

      2.过渡依赖面向对象思想

      3.对可扩展性的过渡追求,是对象设计的过于离散,造成大量的复杂的join语句

      4.对数据库的过渡依赖.将大量适合存放文件系统的数据存入了数据库,如日志信息

      5.过渡理想化系统的用户体验,如大量不需要实时更新的数据做了实时统计计算

    五.Query语句对系统性能的影响

      1.子查询的效率高于连接的查询

    六.数据模型设计对系统性能的影响

      优化1.将user表中的不常用字段重新建一个user_info表

    七.硬件环境对系统性能的影响

      1.IO性能

      2.CUP性能

      3.网络设备性能

    八.整个系统性能优化收益的百分比(经验)

      需求和架构及业务实现优化:55%

      Query语句的优化:30%

      数据库自身的优化:15%    

  • 相关阅读:
    刷题总结——宠物收养所(bzoj1208)
    算法复习——trie树(poj2001)
    刷题总结——bzoj2243染色
    算法复习——虚树(消耗战bzoj2286)
    设置SSH自动登陆(免密码,用户名)
    自旋锁Spin lock与互斥锁Mutex的区别
    如何去除Linux文件的^M字符
    重构
    比赛日程安排
    基于libzip的简易压缩(zip)/解压缩(unzip)程序
  • 原文地址:https://www.cnblogs.com/2nao/p/6607989.html
Copyright © 2011-2022 走看看